Converting a complex PDF into clean Markdown with an open-source library
How well a self-hostable open-source library turns complex PDFs into faithful Markdown that a reader can trust without opening the original.
What this benchmark is
This benchmark is for self-hostable open-source libraries that convert real-world PDFs into Markdown. It helps a buyer judge whether a tool keeps the source document usable when it contains native text, tables, figures, charts, scanned pages, equations, or code.
A reader learns where a library preserves content and structure, and where it drops, reorders, invents, or weakens information. The point is not pretty output; it is whether the converted document still supports search, retrieval, QA, indexing, and human review.
Each test uses the complete PDF, not a cropped page. The tool runs once with its default pipeline and no per-tool flag tuning, and the expected source truth is recorded from the PDF before the run. The grader checks the relevant page or region in the output, not the whole document at once.
In scope
- Converting complex, real-world PDFs into Markdown with an open-source library.
- Preserving text, reading order, headings, tables, figures, charts, scanned text, equations, and code.
- Judging completeness, accuracy, faithfulness, and honesty against the source PDF.
Out of scope
- Structured field extraction.
- Web-page conversion.
- Form filling.
- Handwriting.
- Document classification or routing.
- PDF creation or editing.
Capabilities included
The broad abilities this benchmark evaluates. Each capability is defined globally; this page states that it belongs to this benchmark.
| Capability | What it means here | Scenarios |
|---|---|---|
| Text Fidelity | Whether ordinary digital text comes through complete, unchanged, and not invented in the Markdown output. | 1 |
| Reading Order & Layout | Whether the source page is read in the natural sequence, so text is not interleaved or reordered by layout. | 1 |
| Heading & Section Structure | Whether headings and subheadings become real Markdown structure, with section hierarchy intact and footnotes kept attached outside the body flow. | 2 |
| Table Extraction | Whether tables keep their rows, columns, headers, and cell values as a table. | 2 |
| Figures & Charts | Whether figures and charts remain placed, referenced, and captioned or titled, with a text trace that still points back to the source. | 2 |
| Scanned Document OCR | Whether image-only pages are turned into accurate text instead of being skipped or left unread. | 2 |
| Equations & Mathematical Notation | Whether equations survive as math markup or a clear fallback instead of garbled prose. | 1 |
| Code Extraction | Whether code survives as a fenced block with line breaks and indentation intact. | 1 |
Scenarios included
A scenario is a real-world situation used to test a capability. Together these scenarios define the evaluation scope of version 1.
Heading & Section Structure
2 scenariosTable Extraction
2 scenariosScanned Document OCR
2 scenariosHow the benchmark works
A public summary of the evaluation method. The same defined scope and evidence standard apply to every tool assessed under this version.
One test case for one tool
Each verdict applies to one test case run against one tool.
Pass, fail, or not gradable
A result is pass, fail, or not gradable; not gradable is not a failure.
Versioned scenarios and registered resources
Use the registered scenario versions and the registered resource versions for every run.
Recorded stimulus, complete output, relevant references
Keep the recorded stimulus, the complete output, and the relevant registered references with the verdict.
Active test cases are partly withheld to reduce benchmark gaming; capabilities, scenarios, method, and resource types stay public.
Resources and fixtures
The registered material and systems that create a consistent test environment for this benchmark.
PDF→Markdown fixture corpus — round 1
The registered PDF fixture set that supplies the benchmark inputs and the source material used to check the output against the PDF.