← All posts

July 8, 2026 · updated July 14, 2026

Best PDF to Markdown Tools in 2026: 9 Converters Tested on Real Documents

We tested 9 PDF to Markdown converters (Marker, MinerU, Docling, Mathpix, pdfmarkdown.app and more) on five real documents. See what breaks and what wins.

Jerome

Jerome

Builder of pdfmarkdown.app

Best PDF to Markdown Tools in 2026: 9 Converters Tested on Real Documents

There is no single best PDF to Markdown converter. The right one depends on what’s in your PDFs and how you work. A researcher with formula-heavy papers, a lawyer who can’t upload a confidential file, and a developer batch-processing ten thousand documents each need a different tool.

So I did the tedious part for you. I ran nine of the most popular converters through five real documents that tend to break them, judged them all the same way, and wrote down where each one shines and where it falls apart, in plain language. Full disclosure: I build one of them, pdfmarkdown.app. No one paid to be included.

You probably already know your situation. So let’s start with the decision, and you can read the evidence after.

How to pick

Decision guide: if you just want to open a file in your browser, pick pdfmarkdown.app for everyday or private documents, Mathpix for formula-heavy papers, CloudConvert for a one-off simple PDF; for open-source pipelines, MinerU for papers and tables, Marker as a balanced default, Docling if you prefer honest gaps, PyMuPDF4LLM for speed

In short:

Where your file goes matters as much as the score for anything confidential. pdfmarkdown.app and pdf2md run entirely in your browser, the open-source libraries run on your own machine, and Mathpix and CloudConvert upload your file to a server. For contracts, client files, or unpublished research, check that before anything else.

Here is the same thing as a table, with each tool’s real strengths and weaknesses side by side.

ToolStrengthsWeaknessesRuns
MinerU
  • Best open-source recovery
  • Excellent formulas and complex tables
  • Deletes footnote text
  • Contents lines become fake headings
  • More setup
Local, open source
Marker
  • Strong on formulas and figures
  • Consistent, no disasters
  • Interleaves multi-column blocks
  • Breaks reference lists
  • Can detach row labels
Local, open source
Docling
  • Clean text and tables
  • Fails honestly instead of faking
  • Drops formulas and images
  • Can mangle a table of contents
Local, open source
PyMuPDF4LLM
  • Fast
  • Easy Python integration
  • Reading order breaks at figures
  • Drops display formulas
Local, open source
MarkItDown
  • Many input formats
  • Simple API
  • No Markdown headings at all
  • Tables and formulas both break
  • Drops images
  • No built-in OCR for scans
Local, open source
Mathpix
  • Cleanest formulas and paper layout
  • Silently drops numbers in dense tables
  • Page-limited
Cloud, paid
CloudConvert
  • Easy, no install, many formats
  • Collapses dense tables into a single cell
Cloud, upload
pdf2md
  • Simple, fast basic text
  • Truncates numbers at the comma
  • No tables, formulas or images
  • Invents 30+ fake headings
Browser, local
pdfmarkdown.app
  • Steady across every document type
  • Strong tables and reading order
  • Complex LaTeX and dense tables still have bad cases
  • Slightly behind on the pure paper
Browser, no upload

Every tool has a shape. Here are the same nine as capability profiles, so you can see at a glance who is an all-rounder and who is a specialist with a cliff.

Radar charts of all nine PDF to Markdown tools across five capabilities: structure and text, tables, formulas, images, and scanned pages, showing each tool's strong and weak dimensions at a glance

Center = 0, outer edge = 100. A bigger, rounder shape means a better all-rounder; a dent means a weak spot (Docling and CloudConvert on formulas, most tools on images). It's a rough capability profile aggregated across the documents that stress each dimension, not the same thing as the per-document scores further down. Near the top, a few points either way is noise, so read the shapes, not fine rankings.

That is the pick. The rest of this piece is the evidence: what each tool actually did on these documents, how I scored it, and the full table of numbers at the end.

The tools, one by one

MinerU: the strongest open-source engine, with two blind spots

MinerU had the highest recovery of any open-source tool. On the paper and the financial report it was genuinely excellent:

MinerU rendering Toyota's dense financial table cleanly
MinerU nails the hard tables, including Toyota's dense metrics grid.
MinerU rendering the paper's formulas correctly
Formulas come through intact.

Two habits undercut it, both on the documents you would least want them on:

The original brief page with citations in page-bottom footnotes
The original brief: its legal citations sit in page-bottom footnotes.
MinerU output keeping footnote markers but dropping the footnote text
MinerU keeps the superscript markers but drops the footnote text (red box), so the references point at nothing.

One practical note if you self-host it: MinerU ships two engines, a lighter pipeline and a heavier VLM, and I ran the top-end VLM, which is where this quality comes from. On MinerU’s own OmniDocBench numbers the VLM scores a few points above the pipeline (about 91 versus 86), so if your machine can’t run the VLM you’ll be on the lighter engine and should expect a small step down from what you see here. The GPU matters enormously, and on a weak one the conversion time balloons.

+ Best for  papers, formulas, and complex tables, when you can self-host.
− Watch out for  footnote-heavy legal or academic text.

Marker: the balanced default

Marker was consistently good, never the disaster and rarely the winner. Its real strength is the corner where many tools fall down, formulas and figures: it kept the paper’s math almost intact and was one of the only tools that pulled every figure out cleanly.

Marker rendering a table cleanly
Tables render cleanly, and the math survives too, which are Marker's real strengths.
Marker keeping the paper's formulas
Formula handling is close to the specialists.

Where it stumbles is layout and references:

Original two-column block in the source PDF
The original: a two-column block (left column, then right column).
Marker interleaving the two columns
Marker interleaves the two columns line by line, scrambling the reading order (red box).
Original US-GAAP table with row labels
The original US-GAAP table, with every row labelled (net sales, total assets, and so on).
Marker output dropping the row labels
Marker keeps the numbers but drops the row labels (red box): 29,929,992 with nothing to say it is net sales.

+ Best for  papers and mixed documents where formulas and figures matter, as a safe open-source default.
− Watch out for  multi-column layouts, reference and citation lists, and the occasional dropped table row label.

Docling: honest, and allergic to math

IBM’s Docling has clean text and tables, and when it can’t handle something it says so instead of faking it. It never produced a single silent error in the whole test.

Docling rendering a clean table
Docling's tables are clean and well aligned.

The weak spots are real:

Docling output with formulas and images missing but marked
But it drops the formulas and images, marking them as undecoded rather than inventing something wrong (red box). Honest, but a gap.

+ Best for  text-heavy and table-heavy documents where you value honest failure.
− Watch out for  math-heavy papers.

PyMuPDF4LLM: fast, until layout carries meaning

PyMuPDF4LLM is a quick developer library, and on simple single-column PDFs it is clean and very fast. The trouble is layout:

PyMuPDF4LLM output with broken reading order, dropped formulas and images
On the paper, the reading order breaks around the figures and the display formulas and images fall out (red box).

+ Best for  simple, single-column PDFs at scale where speed matters.
− Watch out for  figures that break the column flow.

MarkItDown: no headings, anywhere

Microsoft’s MarkItDown has one disqualifying habit for AI work: on every document I tested, it emitted zero Markdown headings. Section titles come out as plain text, so you lose the outline a RAG pipeline needs to chunk and retrieve.

MarkItDown output with section titles as plain text, no Markdown headings
Section titles come out as plain text: not a single Markdown heading in the whole file (red box), so the outline is gone.

And everything else it touches breaks too:

MarkItDown output with broken tables and formulas
Tables and formulas break down as well.

+ Best for  plain-text dumps and multi-format ingestion pipelines.
− Watch out for  anything that needs structure for RAG.

Mathpix: beautiful output, with a knife in it

Mathpix produced the single cleanest result in the test, a perfect score on the paper, with every table, formula and figure correct.

Mathpix rendering the paper with clean formulas and figures
On the research paper, Mathpix is the cleanest of all nine: formulas and figures come through beautifully.

But it hides a knife, and it did it twice:

Both outputs look completely normal. It is also an online paid tool, and the free tier caps out around ten pages.

Original Toyota dividend row showing main figure and interim in parentheses
The original dividend row: the annual figure (220, 240, 260, 300, 375) with the interim dividend in parentheses.
Mathpix output keeping only the parenthetical interim dividend
Mathpix keeps only the parenthetical figure (red box): 100, 105, 120, and so on. An AI now reads 100 as the dividend when the real number is 220. This is the silent error, and the table looks perfectly normal.
Mathpix rendering another Toyota metrics table
The rest of the metrics tables do render, which is exactly what makes the dropped figure so easy to miss.

+ Best for  short, formula-heavy papers you will double-check.
− Watch out for  dense numeric tables, and the page limit.

CloudConvert: valid tables that are secretly unusable

CloudConvert emits proper Markdown tables, which sounds good. On dense ones it crams several data rows into a single cell, so the table is valid Markdown and useless as data because you can’t tell which number belongs to which row. On the land-use plan, three of five tables collapsed this way.

CloudConvert cramming several table rows into one cell
On dense tables it crams several rows into a single cell (red box): valid Markdown, but you can't tell which number belongs to which row.

And beyond tables:

CloudConvert output with badly mangled formulas
Formulas come out badly mangled.
CloudConvert output with images dropped
And figures are dropped entirely.

+ Best for  occasional simple conversions.
− Watch out for  dense financial or statistical tables.

pdf2md: the one that quietly cuts your numbers off

The scariest result, because its damage is the kind you might not notice. On the land-use tables:

Original land-use data table
The original land-use data table.
pdf2md output with no table and numbers truncated at the comma
pdf2md: no table at all, and numbers cut off at the thousands separator (red box), so 546,030 and 87,416 lose their tails.
pdf2md shattering the softmax formula
The Attention formula shattered across headings and code blocks: the fraction is gone.
pdf2md output with no images and broken formulas
No figures either, and the rest of the formulas fare no better.

+ Best for  quick throwaway text you'll eyeball yourself.
− Watch out for  any numbers you won't re-check.

pdfmarkdown.app: mine, including where it loses

I’ll be straight about my own tool. It stayed in the top tier across all five document types, and it never produced a single silent error. A few places where it held together while others broke:

pdfmarkdown.app rendering the Toyota table with signs and brackets intact
The Toyota table comes through with the minus signs and bracketed temp-worker counts intact, where Mathpix and pdf2md broke.
pdfmarkdown.app keeping all footnotes in the legal brief
All eleven footnotes survive in the legal brief, marker and text together, where MinerU lost them.

Figures, formulas, and dense tables, the three things that break most tools, all came through cleanly. The figure crops in particular were the most complete of anything I tested: both panels of a two-part diagram captured together with their caption, no cut-off edges. That is the one part of this I have obsessed over the most, and I wrote up how it works in how to pull figures out of a PDF without breaking them.

pdfmarkdown.app extracting the paper's Figure 2 completely and rendering the formula as LaTeX
Figure 2 comes out whole, both the Scaled Dot-Product and Multi-Head Attention panels with their caption, and the equation below it renders as clean LaTeX.
pdfmarkdown.app rendering the dense land-use data table with every row and column aligned
The dense land-use table stays fully aligned, every planning area on its own row, where CloudConvert and pdf2md collapsed it.

Where it loses: on the pure research paper, MinerU and Mathpix edged it by a couple of points. And on the scan it kept the cover as an image (which I think is correct, it is a photo) but did not OCR the cursive title printed on top of it, while MinerU read that text.

pdfmarkdown.app missing the cursive title printed over the scanned cover
And the honest miss: it kept the scanned cover as an image but did not read the cursive title printed on top of it.

The honest gap is dense, multi-level tables like the one above, where a specialist like MinerU reads the layout better. On formulas it actually held its own here, matching MinerU on all five in the paper; the place I have seen it slip is deeply nested LaTeX and large matrices, on documents harder than anything in this set.

The original Attention paper Table 4, a constituency-parsing table with one parser per row
The original: Table 4 from the Attention paper, where each parser is its own row.
pdfmarkdown.app crammed several parser rows into single stacked cells
pdfmarkdown.app on the same table: the four cited-parser rows get crammed into single stacked cells (red box). The values survive and the load-bearing Transformer rows (91.3, 92.7) stay correct, but the row structure blurs. This is the kind of dense table where MinerU is still sharper.

Those are exactly the cases that need a heavier vision model, which is what I’m building next: a VLM-backed mode for hard formulas and dense tables.

+ Best for  everyday PDFs (reports, papers, contracts, scans, whatever mix you have) that you want to convert right in your browser, without installing anything or signing up, and especially the private or confidential ones.
− Watch out for  on especially complex formulas and tables it is not as sharp as MinerU yet, and it is a tool, not a code library, so it is not the pick for automated batch jobs on a server.

How I tested this

I wanted evidence, not vibes, so two things are worth knowing before you trust the numbers later on.

The documents were chosen to be hard. Five of them, each a different kind of difficult. The originals and every tool’s raw output are in the benchmark repo:

The goal was not an average PDF. It was to pick documents that expose where tools break.

The scoring is built for AI, not for looks. Since the output usually gets fed to an LLM, I scored what a model actually needs. The recovery score is simple: for each document I wrote a fixed checklist before grading, and the score is the share of those checks that came through correctly, times 100. Things a document doesn’t have (formulas in a legal brief, say) drop out of the denominator rather than counting as failures.

It also helps to separate the ways a number can go wrong, because they are not equally dangerous:

The plausibly-wrong kind is the one I track as a silent error, because it is the only one a reader can’t catch. It gets its own column and never averages into the recovery score.

To keep the ruler even, Claude did the grading one criterion at a time across all nine tools at once, then I checked it by hand against the source PDFs, and a second skeptical pass argued against my own numbers and corrected several. Every score traces back to a specific line in an output file, and the full test set, answer keys, and scoring scripts are all in the repo linked above, so anyone can reproduce or challenge a number.

A bonus round: encrypted PDFs

A lot of the documents worth protecting are literally protected, so I tried one more file: an AES-256 password-protected copy of the land-use tables. A truly encrypted PDF needs its password to open at all, so the real question is whether a tool gives you a way to supply it. I checked each one’s code and docs.

One nuance: many “encrypted” PDFs are only permission-restricted (an owner password, but an empty open password), and most of these tools open those without asking. It is the files with a real open password where the differences above matter.

I’m not scoring this, since it’s a yes/no capability rather than a quality question. But it’s worth knowing before you’re on a deadline with a sensitive file, and it is one more reason a confidential document is simplest in a tool that just opens it where it already is.

The scores, and how to read them

Here are the numbers behind everything above. Read them as a map of strengths and weak spots, not a leaderboard.

ToolPaperFin.LegalTablesScanAvgSilent
MinerU99956710071860
Marker9587829671860
Docling6380909261770
PyMuPDF4LLM6190908258760
MarkItDown5165706633570
Mathpix10084858059822
CloudConvert6290907055730
pdf2md5579805046621
pdfmarkdown.app97909110083920

Recovery score 0–100 per document type (higher = more came through correctly). Silent = numbers changed to look right but wrong; lower is safer. Open-source first, then online; pdfmarkdown.app (mine) last.

A few honest words about this table. It is five hard documents, not a representative sample, so the scores run tough and the exact ranking is a snapshot, not a verdict. Choosing the test set is itself a bias I won’t pretend away. What the numbers are good for is spotting each tool’s strengths and its cliffs, which is why the examples above matter more than any average. There is no Swiss Army knife here, mine included. The best converter is the one that fits the documents you actually have.

If you remember one thing, make it a habit rather than a tool: test whatever you pick on a document where you already know the numbers, then go find those numbers in the output. That five-minute check tells you more than any comparison table, this one included.

What this benchmark doesn’t measure

To keep me honest, here’s what these numbers are not:

FAQ

What is the best PDF to Markdown converter in 2026?

There isn’t one. It depends on your documents. For everyday files with nothing to install, I’d use pdfmarkdown.app. If you can run open source, MinerU is the strongest for papers and reports, just not on footnote-heavy ones.

Which converters changed numbers without warning?

Only two of the nine:

The other seven either got the numbers right or failed visibly.

Is Mathpix good for PDF to Markdown?

Its per-page quality is the best I tested, a perfect score on the research paper. Two caveats:

Which PDF to Markdown tool is best for RAG?

One that keeps headings, reading order, and tables intact, because that structure is what lets an AI find the right passage later. MarkItDown gives you no headings at all, so skip it for this. Among open source, MinerU and Marker are strongest; pdfmarkdown.app was the most consistent here.

Can these tools handle scanned PDFs?

Unevenly. On the 1973 scan, MinerU read the most text including the cursive title, while several tools barely produced anything. If your inputs are scans, test on a scan specifically.

What is the best open-source PDF to Markdown tool?

Of the open-source options I tested (MinerU, Marker, Docling, PyMuPDF4LLM and MarkItDown):

Which tools process PDFs locally without uploading?

How were these scored?

Two axes: a recovery score for how much came through correctly, and a separate silent-error count for values changed to look-right-but-wrong. Graded by Claude one criterion at a time across all tools, then checked by hand against the source PDFs, with a second adversarial review pass.

Test it on your own PDF

Don’t take my word for it. The fastest way to trust any converter is to run it on a document where you already know the numbers, then search the output for those numbers before you feed it to an AI.

Try pdfmarkdown.app on your own PDF — it runs in your browser, with no signup and nothing uploaded for conversion.