How to Convert a PDF to Markdown (And Fix What Breaks)
You dropped a PDF into a converter, it told you the extraction was complete, and the Markdown file you got back has no headings, no bullet points, and your table is now a single row of words. The tool is not broken. A PDF genuinely does not record what a heading is — and once you know that, the whole job makes sense and takes about five minutes instead of an hour of fighting it.
This guide covers how to convert a PDF to Markdown in the browser with FileNaut PDF to Markdown, what you will realistically get back, and the five specific things that break — each one measured on real files, with the exact threshold where it starts failing. There is also a fast clean-up routine at the end that turns flat text into proper Markdown without retyping anything.
What you actually get back
Set your expectations first, because this is where most of the frustration comes from. We built a test PDF containing a 24-point title, 16-point subheadings, a bulleted list and a small table, ran it through the live converter, and looked at the output byte for byte. Here is the relevant part, exactly as it came out:
## Page 1
Quarterly Report
Executive Summary
Revenue grew by 18% this quarter.
Key Points
• Customer churn fell to 2.1%
• Two new markets opened
Numbers
Region Revenue Growth
North $1,240,000 12%
South $980,000 24%Read that carefully. The only Markdown in the file is the page heading the tool adds itself. "Quarterly Report" was 24-point bold; it came out identical to an 11-point sentence. The bullets kept their bullet character, which is not Markdown syntax. The table lost its columns entirely.
That is not one bad tool. That is what text extraction from a PDF returns, and it is the honest baseline every converter starts from. What separates a good converter from a bad one is how much structure it rebuilds on top of that baseline.
Why a PDF has no headings
A Word file or an HTML page stores meaning: this element is a heading, that one is a list item. A PDF stores drawing instructions. It is closer to a vector image with text in it than to a document.
We opened the raw content stream of our test file to show exactly what is in there. These are the real operators, unedited:
BT /F2 24 Tf ET
BT 1 0 0 1 72 720 Tm (Quarterly Report) Tj ET
BT /F1 11 Tf ET
BT 1 0 0 1 72 652 Tm (Revenue grew by 18% this quarter.) Tj ETTranslated: select font F2 at 24 points, move to coordinate 72,720, draw the string "Quarterly Report". Then: select font F1 at 11 points, move to 72,652, draw this sentence.
Nowhere does the file say "this is a heading." The only difference between the title of the document and an ordinary sentence is the number before Tf. The bullet points are no better — each one is stored as a literal bullet character at the front of a string, not as a list.
So converting a PDF to Markdown is not a format conversion at all. It is reverse-engineering: reading coordinates and font sizes and guessing what the author meant. Every tool on the market is guessing. This is also why the reverse direction, Markdown to PDF, is easy and reliable while this direction is hard.
The exception: tagged PDFs
There is one case where the structure really is in the file. A tagged PDF — sometimes called an accessible PDF, the kind screen readers need — carries a parallel structure tree describing the document properly.
We exported one and inspected it. The tag tree contained exactly these roles:
Document, P, H2, L, LI, Lbl, LBody, Table, TR, TH, TDHeadings, lists, list labels, tables, table rows, header cells, data cells. That is everything Markdown needs, sitting in the file, ready to read. The same untagged file returned nothing at all for the same query.
Two catches, and they are why this rarely rescues you in practice:
- Most converters ignore it. We ran the tagged file through the same extraction path and it produced zero Markdown syntax characters — identical flat text to the untagged version. The structure was there and was thrown away.
- Tagging is rare. We sampled 16 real PDFs from disk and checked each one. None of them were tagged. Tagging usually only appears when someone deliberately exported for accessibility.
The practical takeaway: if you control the source document, tick the accessibility or tagged-PDF box when you export. It costs nothing and it makes the file far more recoverable later. If someone else made the PDF, assume it is untagged.
How to convert a PDF to Markdown
The conversion itself takes about fifteen seconds and runs entirely in your browser, so the file never leaves your machine.
- Open FileNaut PDF to Markdown.
- Drag your PDF onto the drop zone, or click Browse Files. A preview of page one appears so you can confirm you picked the right file.
- Click Extract Text. A progress bar tracks it page by page.
- The Markdown appears in the panel on the right. Read it before you download it — this is the moment to notice that a table collapsed or the text came out empty.
- Click Download .md to save the file.
If the output panel is blank or nearly blank, do not download it and move on — skip to the section on scanned PDFs below, because that is almost certainly what you have.
The five things that break, and what to do
We tested each of these on purpose-built files rather than guessing at them. The thresholds below are measured.
| What breaks | What we measured | What to do |
|---|---|---|
| Headings flatten | A 24pt title and a 16pt subheading came out identical to 11pt body text | Add the hash marks yourself; it is usually under a dozen lines per document |
| Tables collapse | A 4-row table became space-separated words with no pipes and no header row | Rebuild by hand, or export the table to CSV from the source instead |
| Columns interleave | A two-column page read across the page: "Left column line one. Right column line one." | Export single-column from the source, or convert one column at a time |
| Tight lines merge | At 9-12pt leading, 4 lines merged into 1 run with no spaces at the joins. At 13pt+, all 4 survived | Increase line spacing in the source and re-export, or split by hand |
| Bullets are not lists | List items kept a literal bullet character instead of Markdown syntax | One find-and-replace: bullet character becomes hyphen plus space |
The line-merging one deserves a flag, because it is invisible until it bites. Converters decide where a line ends by measuring the vertical gap between text runs, and the threshold here is 12 points. Body text set in 10-point type at single spacing lands almost exactly in that failure band — which is to say, a great many resumes, contracts and academic papers do.
If nothing comes out, your PDF is a picture
This is the single most common reason a conversion appears to fail, and it is worth recognising instantly.
A scanned PDF — anything that came off a flatbed, a phone scanner app or a fax — contains no text at all. It contains a photograph of text. There is nothing for a converter to extract.
We ran an image-only PDF through the live tool. The entire output was 18 bytes: a page heading and a horizontal rule, with nothing between them. The tool still displayed a success message. That is worth knowing, because a green tick and an empty file is easy to misread as "my document had no content."
The fix is to create a text layer first:
- Run the file through PDF OCR, which reads the picture and writes real, selectable text into the PDF.
- Check the result by trying to select a line of text in a PDF viewer. If you can highlight it, the text layer is there.
- Now run the conversion.
A quick way to tell in advance: open the PDF and try to select a sentence with your cursor. If nothing highlights, it is a scan, and no converter will get anything out of it until you OCR it.
The fastest clean-up routine
Do not retype the document. Four passes over the extracted text will rebuild most of the structure, and they go quickly in an editor with a live preview so you can watch it take shape.
- Fix the lists first. Find-and-replace the bullet character with a hyphen and a space. This is the highest-value single action — it converts every list in the document at once.
- Strip the page furniture. Delete the per-page headings and the horizontal rules between pages. If your document flows continuously, these are just noise.
- Restore the headings. Scan for lines that are short, have no full stop and sit alone — those are almost always headings. Put a hash and a space in front of each, two hashes for subheadings.
- Rebuild any tables. Only worth it for tables you actually need. Add pipes between the columns and a separator row under the header.
Paste the text into the Markdown Editor and work there — the rendered pane on the right shows you immediately whether a heading took and whether a table is actually parsing, which is much faster than fixing it blind. If you are new to the syntax, what a Markdown file is covers the whole thing in a few minutes.
Once the Markdown is clean it is genuinely portable: it will drop straight into a static site, a wiki, a README or a notes app, and you can push it back out to HTML whenever you need to.
Choosing a converter
Converters fall into three groups, and the right pick depends on what you are feeding it.
- Browser-based extractors (including FileNaut) run locally, so nothing is uploaded. They are fast, private and free, and they give you the flat-text baseline described above. Best for text-heavy documents where you do not mind a short clean-up.
- Layout-aware and AI converters analyse the page geometry to rebuild headings and tables. They handle complex documents far better and are the right call for academic papers with columns and heavy tables. The trade-off is that most run on a server, so read the privacy terms before sending anything confidential.
- Export from the source — by a distance the best option when it is available. If you or a colleague still has the original Word or Google Doc, export from that instead. The structure is still intact in the source and does not have to be guessed at.
One thing to save you a wasted download: Pandoc, the usual answer for document conversion, cannot read PDF as an input format. It converts to PDF very well and is worth having for that, but it will not take a PDF and give you Markdown.
If what you actually want is an editable document rather than Markdown, converting the PDF to Word is often the better route, since Word keeps more of the visual formatting.
Frequently asked questions
Why does my converted Markdown have no headings? ▼
/F2 24 Tf followed by the text, and a body sentence as /F1 11 Tf followed by the text. The only difference between a title and a sentence is the number before Tf. Simple converters do not interpret that number, so every line arrives as plain text.Can any tool convert a PDF to Markdown perfectly? ▼
How do I convert a scanned PDF to Markdown? ▼
Why did all my lines run together into one paragraph? ▼
Why are my two-column pages jumbled? ▼
What happened to my tables? ▼
Region Revenue Growth followed by North $1,240,000 12%, with no pipes and no header separator. You will need to rebuild the pipes by hand, or use a converter that does table reconstruction.Does a tagged or accessible PDF convert better? ▼
H2, L, LI, Table, TR, TH and TD roles, which is everything Markdown needs. The catch is that most converters ignore it and read the flat text instead, and tagging is rare in the wild. We sampled 16 real PDFs from disk and none of them were tagged.Is converting a PDF to Markdown private? ▼
What is the fastest way to clean up the output? ▼
Ready to try it?
Use the tool right now — free, no signup, no upload.