PDF to Markdown: What Actually Survives
Converting a PDF to Markdown for an LLM prompt, Notion, or a README? Here's exactly what survives the conversion — headings, lists — and what doesn't.
Convert a PDF to Markdown with headings and lists reconstructed as real syntax. Convert the whole document or a page range. Free, instant, nothing uploaded.
Drop your PDF here
or click to browse — PDF files only
Pull selectable text out of a PDF with paragraph structure preserved. Extract the whole document or a page range.
Recognize text in a scanned PDF and download a searchable PDF or plain text. Runs locally, nothing uploaded.
Combine multiple PDF files into one document. Drag to reorder.
Lines that are genuinely larger than the document's body text are detected and turned into real #, ##, or ### Markdown headings — not left as plain, unstructured text.
Lines that start with a bullet or number marker in the PDF come out as real Markdown list syntax, ready to render correctly wherever you paste them.
PDF.js reads your document entirely in your browser. Your file never touches a server, which matters for internal docs or anything sensitive.
A scanned PDF with no text layer gets a clear message instead of a silently empty download, and tabular text is left as plain text instead of a guessed, possibly-wrong table grid.
Grab a plain Markdown file that opens anywhere, or copy the converted Markdown straight to your clipboard to paste into another app.
No queue, no server round-trip. Conversion runs as fast as your device allows — typically a few seconds for most documents.
Drag and drop a PDF file onto the page or click to browse. Reports, docs, and articles all work — any PDF with a real text layer.
By default, every page is converted. Switch to page range mode to pull Markdown from just the pages you need.
Click Convert and the PDF is turned into Markdown locally in your browser, with headings and lists reconstructed as real Markdown syntax. Download it as a .md file or copy it to your clipboard.
Whether you're turning a spec into a README, feeding a document into an LLM prompt, or archiving a report as plain text — PixelTools converts your PDF to Markdown in seconds, free, with no upload.
Convert a PDF document into Markdown you can drop straight into a GitHub repo's README or a docs site that expects Markdown source.
Markdown is a cleaner, more structured format for a model to read than a wall of extracted plain text — convert a PDF once and reuse the Markdown across prompts.
Get a contract, brief, or report out of PDF and into a format you can actually edit, diff, and version — without retyping it by hand.
Convert a folder of PDFs into Markdown files that stay searchable, diffable, and readable in any plain-text tool for years, independent of a PDF viewer.
Yes — completely free, no account required, no watermarks, no limit on how many PDFs you convert.
No. Conversion runs entirely in your browser using PDF.js. Your file is never sent anywhere — it stays on your device the whole time, which matters for internal docs, contracts, or anything else you'd rather not upload.
Yes, where the PDF gives the converter something to work with. Headings are detected from a line's font size relative to the document's body text (so a genuinely larger, bolder line becomes a # or ## heading), and bulleted or numbered lines are detected from their leading marker and turned into real - or 1. Markdown list syntax — not just plain text that happens to start with a dash.
No. Table structure — rows and columns — is genuinely hard to detect reliably from a PDF's raw text positions, and a wrong table is worse than no table. Tabular text is converted as plain paragraph text instead of a guessed, possibly-broken Markdown table grid.
That means the PDF is scanned or image-only — the pages are pictures of text, with no underlying text layer for a computer to read. This tool can only convert text that already exists inside the PDF; for scanned documents, you need an OCR (optical character recognition) tool first.
Paste it into a README, a docs site, a GitHub issue, or an LLM prompt — anywhere plain Markdown is the expected format. It's just text, so it opens in any editor.