How these numbers were measured
The home page compares this converter against three others and quotes figures for all of them. Those figures came from real conversions of real documents, and the output is on this page. Download any of it, run the command next to it, and you get the number back.
Competitor output was captured in August 2026. Converters change; a result that held then may not hold now, and if you find one that has moved, tell us and it gets re-run.
How the tests were run
One document, four converters
Every comparison on the home page uses the same fifteen-page paper — arXiv 1706.03762, Attention Is All You Need. Comparing tools on documents they each chose would prove nothing.
Anonymous, free tier, nothing paid
Each competitor was driven in a separate Chromium session with no account, no sign-in and no purchase. Where the free tier refused to finish, that refusal is the result and is recorded as one — not filled in from a paid run.
Ours came from the shipping pipeline
The pdf2md.me output here is written by pnpm bench, which runs app/features/pdf-convert/conversion.ts — the same module the browser worker runs. It is not a separate implementation kept in step by hand.
No private documents
Every source is a public third-party document. Nothing belonging to anyone was uploaded to a competitor to produce these files.
Every claim, and the file behind it
The left column is quoted from elsewhere on this site. The right is the command that gets it back out of the linked file.
| Claim | Output | Reproduce it |
|---|---|---|
| pdf2md.net returns zero table rows for the whole paper. | pdf2md.net output | grep -c '^|' 01-academic-2col.md → 0 |
| The same paper here yields 103 table rows across 10 tables. | pdf2md.me output | pnpm bench 01-academic → tables 10, tableRows 103 |
| PDF.ai turns the same fifteen-page paper into 310 H2s and no H1. | PDF.ai output | grep -c '^## ' → 310 · grep -c '^# ' → 0 |
| Of iLovePDF's 43 links, 38 point at an anchor that does not exist. | iLovePDF output | grep -o '](' | wc -l → 43 · grep -o '](#page-0)' | wc -l → 38 |
| iLovePDF stops a free conversion at 30 pages. | Feed it any document over 30 pages: "This tool is limited to 30 pages per task", then a sign-up wall. No output exists to publish. | |
| A 293-page annual report converts to 2,469 table rows. | pnpm bench 12-chinese-financial → tableRows 2469. The source is 12 MB, so it is identified by hash below rather than mirrored. | |
| A 152-page annual report converts in one pass. | pnpm bench 03-financial → pages 152, sourcePages 152. No timing is quoted anywhere on this site; see the gaps below for why. |
The source documents
These are public third-party documents, so this site links to the publisher rather than handing out a copy — and gives the SHA-256 of the exact file that was tested, so you can confirm you have the same one.
| Document | Pages | SHA-256 |
|---|---|---|
| arXiv 1706.03762 — Attention Is All You Need01-academic-2col.pdf | 15 | bdfaa68d8984f0dc02beaca527b76f207d99b666d31d1da728ee0728182df697 |
| arXiv 1512.03385 — Deep Residual Learning (CVPR two-column)08-true-2col.pdf | 12 | 1e0651b6810ecba34a3dbc5b5b0209226f889004607c1f203540a48d64e5a93a |
| Berkshire Hathaway 2023 annual report03-financial-10k.pdf | 152 | 2132b85f9c472a6f0b141551adb08d93f88db28e6a3794e7e2b13ca3f8a57b5b |
| CAICT — Data Elements White Paper 202307-chinese.pdf | 53 | 76d7be1cb18418a2e76554023e4e9ad580bb7c5eea2cfc852406ed1c809dbbd9 |
| PetroChina 2023 annual report, A-share Chinese edition12-chinese-financial.pdf | 293 | b845502e533311280f89d59c2a92c67f94f2be17451e51e55f93a1d52abe6692 |
What is missing, and why
CloudConvert was never measured
An anonymous conversion returns 402 before producing anything, so there is no output to publish. It is left out of every comparison rather than scored on a guess.
No conversion time is quoted anywhere
The same 152-page file on the same machine measured anywhere from 1.8 to 12.9 seconds, and 24.8 in a background tab. A number that unstable says more about the browser than the converter, so it is shown live while you wait and never printed as a claim.
The link and heading figures are one document each
They come from the paper above, not from an average over the corpus. A different PDF can behave differently — which is the argument for trying your own rather than trusting this page.
Every figure is what one run produced
Ours is deterministic and reproducible with the command beside it. Theirs is a capture of a service that can change under it at any time.
Try it on a document you already know
The fastest way to check any of this is a file whose right answer you already have in your head.