AI Demos Research — the structured-intelligence platform. Every verdict on these pages opens to the execution behind it.
Graded 26 October 2026

Does MarkItDown recover text from a clean scanned document?

MarkItDown fails to recover text from the clean scanned document. It returned an empty Markdown file and exited successfully, while the input is a legible image-only scan with no text layer.

1 of 1 test case failed

Every test case in this scenario has a result.

Pass rate0%0 of 1 gradable
Coverage1 of 1test case with a result
0PassNo test case passed.
1FailMissed at least one thing it was expected to do; the reason and proof are with each test case below.
0Not gradableEvery result here could be graded.
0UntestedEvery test case in this scenario has a result.
The pass rate is a summary. The evidence is the test case below: what we sent, what we checked, what the tool returned, and the proof.

The test case

Each test case is judged on its own: Pass, Fail, Not gradable, or Untested. The scenario result above is based on this test case.

Clean scan — text recoveredFailEvidence
What we sent
InputDocument (PDF)
Input PDF: scanned certificate of analysis
Open the PDF ↗
What the tool returned

Proof 1 · Screenshot

Output file (Markdown)
Output Markdown: empty conversion result
Open the Markdown file ↗
Expected vs. Found
✗Expected: Visible text is recovered accuratelyFound: No visible text was recovered; the output was empty, with zero characters and a success exit code.
Supporting proof
Proof 1Screenshot
Terminal capture: command and output summary
Open original ↗
Why this result

It had to recover the clean scan's visible text. The document had no text layer, and the output was empty even though the run exited successfully, so the requirement was not met.

Also observed in this test case

Silent failure. It ended successfully with no error or warning, yet left an empty file and no note that a page was dropped.

Separate OCR paths. OCR exists only through separately configured routes, so it was outside this default run.

Tested by Vamshidhar Rao Thumula · evidence dated 22 October 2026

Configuration and setup

How this tool was set up for the run and what the test needed in place. Each row is a fact from the run's records; a fact the records do not hold is left out, not guessed.

Software that produced the output
MarkItDown
Build or version
markitdown 0.1.7 (PyPI, markitdown[pdf])
Surface
SDK / library
Set up before the run
A clearly scanned, image-only PDF had to be converted once with the default pipeline and the complete file, with no per-tool tuning.
Tool version
0.1.7
PDF backend version
pdfminer.six 20260107
Tested
22 October 2026 · Vamshidhar Rao Thumula

How this scenario is graded

How we decide Pass, Fail and Not gradable. The same rules apply to every tool tested on this scenario.

How results are decided

Each test case gets one result per tool: Pass, Fail or Not gradable. A test case we haven't run yet shows Untested. There are no partial results.

The rules
  • Pass: the tool did everything the test expected, and nothing it said contradicts the correct answer.
  • Fail: at least one expected behaviour clearly didn't happen; the test case's result says which one and quotes the tool.
  • Not gradable: our evidence couldn't settle the outcome (for example a record we needed is missing). It is never counted as a fail, and the test case's result says what's missing.

Where this sits in the benchmark

This page is one cell of a larger study: one tool, one scenario. Only this benchmark's frame appears here.

History of this result

What has happened to this result since it was first published. Runs and grades are never overwritten: a retest or a re-grade publishes a new result and keeps the earlier one readable.

from the publication record
7 November 2026First publishedConverting a complex PDF into clean Markdown with an open-source library v1

Act on this result

Nothing filed here edits the run or the grade. A challenge opens a review, and a review can produce a new run or a re-grade — which becomes the current result and leaves this one in the history.

This matches what I see

You run the same kind of test against your own setup and get the same behaviour.

Agree →
This does not match

Yours behaves differently. Tell us what you got, with a screenshot if you have one.

Disagree →
Point out an issue

Something here is wrong — a reference value, a transcription, a grade.

Report an issue →
Request a retest

On a newer build, a larger dataset, or your own setup.

Request a retest →
We have fixed this

Tell us what changed and we schedule a rerun of the failing test case. The old result stays as history.

Vendor notice →
Filed against this evidenceNothing yet. Challenges, counter-evidence and fix notices appear here with their outcome, and stay on the page after they are resolved.
Cite this result
aidemos.com/benchmarks/pdf-to-markdown-open-source/results/markitdown/a-cleanly-scanned-document · 0 pass · 1 fail · coverage 1/1 · graded 2026-10-26

The same record is available as structured data through the AI Demos MCP server, with the counts, the coverage and every per-test-case reason carried as fields.

Verify the proof files

These files support this result. Open a file to inspect the original evidence.

Input · Document (PDF) ↗application/pdf · 747 KB
Output file (Markdown) ↗text/markdown; charset=utf-8
Proof 1 · Screenshot ↗image/png · 73 KB
File fingerprints (SHA-256)

A fingerprint identifies the exact file used for this result.

Input · Document (PDF)a459554d58b9480b19bb3a63598c500b961c3ad377492d18ff227bb439e1f68c
Output file (Markdown)e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
Proof 1 · Screenshot4847de6b6ee8dcf6dad38c94a871c4d30f2fe6cf4403886665c36066a03cf040