← All reviews · Data & RAG

data-rag/doc-parsersclaim testclaim test Rocky measures the headline claim ("10x faster!") on real tasks against a baseline. Glossary

markitdown: does it really turn any document into clean text?

The claim“One command turns any document (Office, PDF, HTML, more) into Markdown your agent can read”

8 of 9tested formats clean
1 characterscanned-PDF output
1 doc eachhistorical v1 coverage
GitHubmicrosoft/markitdown190.9kStars14.2kForks737Issues + PRsMITlicense (Apache-2.0, MIT) The rules for using the code. Apache-2.0 and MIT both allow free use, including commercial use. Glossary · Learn moreLicenseLast pushPythonLanguage

Live stats · checked

Review lives at rockytested.com · @RockyTested

Coding agents Rocky, verdict REAL

With vs without

With it loadedNot tested yet

No with-skill pass count is on file.

Without itNot tested yet

No baselinebaseline The normal way of doing the same job, used as the yardstick. Rocky compares every claim against a baseline on the same machine. Glossary pass count is on file.

Usefulness is a separate question from “does the repo exist.” It needs the same task run twice. Until that A/B is published, both cells stay blank.

What the test plan says

Build 9 fixture files (DOCX, PPTX, XLSX, PDF, HTML, CSV, JSON, EPUB, and a scanned image-only PDF), each carrying 6 known canary sentences and a known 3x4 table. Convert each and count how many canaries and table cells survive, and whether a real Markdown table comes out.

Four verdicts

One stamp is not the whole story. Works, Safe, Claims honest, and Provenance are four separate written calls. A missing call stays “not tested yet.”

WorksNOT TESTED YETDid it do the thing when Rocky ran it?

No written call is on file. This is not a pass.

SafeNOT TESTED YETSafe to install and run?

No written call is on file. This is not a pass.

Claims honestNOT TESTED YETDoes the pitch match what Rocky measured?

No written call is on file. This is not a pass.

ProvenanceNOT TESTED YETDoes the repo's history check out?

No written call is on file. This is not a pass.

Safety is a hard cap. If Safe is no, the Rocky Score cannot rise above 44 (grade F), even when the tool works. A blank Safe card means not tested yet, not safe. How the four verdicts roll up →

Claim vs what Rocky measured
Claim vs what Rocky measuredThe claim: One command turns any document (Office, PDF, HTML, more) into Markdown your agent can read. Finding 1: 8 of 9 formats came through with every test sentence and table cell (holds). Finding 2: The one miss was a scanned PDF with no text layer, which returned 1 character (stretched).THE CLAIM“One command turnsany document(Office, PDF, HTML,more) into Markdownyour agent can read• Source: X postvsWHAT ROCKY MEASURED✓Finding 18 of 9 formats came through withevery test sentence and table cell!Finding 2The one miss was a scanned PDF withno text layer, which returned 1characterClaim vs what Rocky measuredThe claim: One command turns any document (Office, PDF, HTML, more) into Markdown your agent can read. Finding 1: 8 of 9 formats came through with every test sentence and table cell (holds). Finding 2: The one miss was a scanned PDF with no text layer, which returned 1 character (stretched).THE CLAIM“One command turns anydocument (Office, PDF,HTML, more) into Markdownyour agent can read• Source: X postvsWHAT ROCKY MEASURED✓Finding 18 of 9 formats came through with everytest sentence and table cell!Finding 2The one miss was a scanned PDF with notext layer, which returned 1 character
Claim partMeasuredResult
Finding 18 of 9 formats came through with every test sentence and table cellholds
Finding 2The one miss was a scanned PDF with no text layer, which returned 1 characterstretched

What it is: A Microsoft tool that converts Office files, PDFs, HTML, CSV, JSON, EPUB and more into Markdown so an agent can read them. Rocky checks what actually survives the conversion, including a scanned page with no text layer. Claim source →

Verdict: REAL

8 of 9 formats came through with every test sentence and table cell. The one miss was a scanned PDF with no text layer, which returned 1 character.

⚠️ Read this before quoting the verdict
  • "Any document" means documents that contain text. Scans and photos come back empty unless you add an OCR or LLMLLM Large language model: the kind of AI that reads and writes text, like the models behind chat assistants. Glossary · Learn more plugin.

Claim ledger

Every distinct claim in the pitch gets a row: what was said, what the command said back. 1 claim on the ledger: 1 not measured. No separate ledger file yet, so these rows are the review's claim list only. “Not tested” means that claim has no measurement.

🔍 Coverage: Not stated yet. Rocky only lists the parts a run actually checked.

⚗️ Unproven usefulness. Counting and parsing can settle what the repo claims. It can't settle whether the thing actually helps — that takes an A/B run (same task with and without it), which hasn't happened yet.

Rocky's take: good uses & where it will fail you

Good uses

  • Office files with text convert cleanlyMaria needs a DOCX contract, PPTX deck, and XLSX budget turned into Markdown for an assistant to read; all 6 test sentences and 16 table cells came through in each file.
  • Quick batch jobs across many file typesDave has a folder of CSV, HTML, and JSON reports to prep for an agent; each file converted in about 0.5 to 0.7 seconds.
  • Web pages and ebooks to notesPriya archives an HTML page and an EPUB book as Markdown notes; both kept all 6 of the test sentences intact.
  • Text-based PDFs you already haveTom converts a PDF report that was exported digitally, not scanned; all 6 sentences and 16 table cells survived.

Where it will fail you

  • Scanned or photographed pages come back emptySam scans a paper invoice to PDF and converts it; the result is just 1 character, with 0 of 6 sentences and 0 of 16 table cells recovered.
  • Some formats skip real Markdown tablesLee converts a PDF or JSON file with a table; the 16 cells come through as text but no real Markdown table is produced, unlike with DOCX, PPTX, or XLSX.
  • EPUB conversion drops table dataRobin converts an EPUB containing a table; unlike CSV, DOCX, PPTX, XLSX, HTML, PDF, and JSON, no table cell data is captured at all.
  • First run has a slow setup stepOn first use, the install step alone took 146.4 seconds, before any of the 5.4 seconds of actual conversion even started.

🤖 Drafted by an AI model from Rocky's measured results only; every number was machine-checked against the test data. People in the examples are made up.

Where this repo comes from

Not checked yet.

Provenance is age, authors, commitcommit One saved version of a repo's code. Rocky pins the exact commit so anyone can rerun the same code. Glossary · Learn more bursts, and where the README sends you. It is published only from commands Rocky ran. Nothing is guessed, so this section stays blank until that file exists.

Real inputs beside real outputs

1 doc per format in v1; packet expanded for next retest. These are the stored inputs and outputs from the active test set (v1 historical, or v2 document-converters packet when job 46+ has been ingested).

Interactive: hover, focus, or click highlighted input text to light up the extracted span; do the same from the output to trace it back. Click again to unlock.

CleanDOCX
1 doc · 493 output characters · 6 of 6 sentences · 16 of 16 cells
InputExact fixture
Download input
Text excerpt from the exact input

Rocky measured the copper bracket at 41 millimeters.

The blue widget ships on Tuesday from Dock Seven.

Quarterly revenue rose by 12 percent in the north region.

Gamma checksum 7f3a9 matched the archived value.

Never store the spare keys under the third flowerpot.

The final answer to question nine is ultraviolet.

Table in the exact input
PartQtyPriceBin
Bolt M31200.04A1
Nut M32000.02A2
Washer750.01B4
OutputMarkItDown Markdown
Download output

Stored Markdown output, word for word.

# Rocky fixture

Rocky measured the copper bracket at 41 millimeters.

The blue widget ships on Tuesday from Dock Seven.

Quarterly revenue rose by 12 percent in the north region.

Gamma checksum 7f3a9 matched the archived value.

Never store the spare keys under the third flowerpot.

The final answer to question nine is ultraviolet.

|  |  |  |  |
| --- | --- | --- | --- |
| Part | Qty | Price | Bin |
| Bolt M3 | 120 | 0.04 | A1 |
| Nut M3 | 200 | 0.02 | A2 |
| Washer | 75 | 0.01 | B4 |
Evidence paths and input hash

results/raw/microsoft-markitdown/job-13/fixtures/fixture.docx → results/raw/microsoft-markitdown/job-13/md/docx.md

SHA-256: 2dd61917029fcf39ec77b8bb4a65867ffaddd33b46b3761e55da904599337dc3

Every historical document and source path
FormatDocuments testedExact input
DOCX1results/raw/microsoft-markitdown/job-13/fixtures/fixture.docx
PPTX1results/raw/microsoft-markitdown/job-13/fixtures/fixture.pptx
XLSX1results/raw/microsoft-markitdown/job-13/fixtures/fixture.xlsx
PDF (text)1results/raw/microsoft-markitdown/job-13/fixtures/fixture.pdf
HTML1results/raw/microsoft-markitdown/job-13/fixtures/fixture.html
CSV1results/raw/microsoft-markitdown/job-13/fixtures/fixture.csv
JSON1results/raw/microsoft-markitdown/job-13/fixtures/fixture.json
EPUB1results/raw/microsoft-markitdown/job-13/fixtures/fixture.epub
PDF (scanned)1results/raw/microsoft-markitdown/job-13/fixtures/fixture.scanned.pdf

Counted from the active metrics file referenced in results/microsoft-markitdown.json (job 13 v1, or a later v2 job after ingest).

Results, charted

Rocky draws these at build time from the run's own numbers. Hover or read the hidden table for exact values. Verdict colors: green holds, yellow stretched, red failed, teal measuring.

Did the document convert? (first run)
Did the document convert? (first run)Pass/fail test strip: Did the document convert? (first run)✓DOCX6/6 lines, table✓PPTX6/6 lines, table✓XLSX6/6 lines, table✓PDF (text)6/6 lines✓HTML6/6 lines, table✓CSV16/16 cells✓JSON6/6 lines✓EPUB6/6 lines✕PDF (scanned)0 chars, no text lay
Green = converted with its text intact. Red = came back empty. The scanned PDF has no text layer, so a text extractor can't read it.
ItemResultDetail
DOCXpass6/6 lines, table
PPTXpass6/6 lines, table
XLSXpass6/6 lines, table
PDF (text)pass6/6 lines
HTMLpass6/6 lines, table
CSVpass16/16 cells
JSONpass6/6 lines
EPUBpass6/6 lines
PDF (scanned)fail0 chars, no text layer
Table cells recovered (of 16)
Table cells recovered (of 16)Comparison bar chart: Table cells recovered (of 16).481216Formats with a tableCSV16 cellsDOCX16 cellsPPTX16 cellsXLSX16 cellsHTML16 cellsPDF (text)16 cellsPDF (scanned)0 cells
A known 3x4 table (header + 3 rows = 16 cells) embedded in each format, then counted in the Markdown.
GroupSeriesValue (cells)
Formats with a tableCSV16
Formats with a tableDOCX16
Formats with a tablePPTX16
Formats with a tableXLSX16
Formats with a tableHTML16
Formats with a tablePDF (text)16
Formats with a tablePDF (scanned)0

Score

A-89/100
Claim holds weight 35898/9 formats intact; scanned PDF 0/6
Speed / quality vs normal weight 251000.5-0.7 s per file
Install friction weight 15100pip install from pinned commit, 146 s, 0 fixes
Same result every time weight 1560single run
README matches reality weight 5not measured
Safe to run weight 5not measured

Graded on 90 of 100 weight points. Parts marked “not measured” are left out of the math, not counted as zero.

Why the 60 appears

The 60 is the reliability subscore, not the overall score: the scorecard caps a single run at 60. The scanned-PDF miss instead lowers claim fidelity to 89 (8 of 9 formats; 0 of 6 expected sentences in the scan). Performance and install both scored 100. With docs and safety not measured, the published rollup is (89×35 + 100×25 + 100×15 + 60×15) ÷ 90 = 89 after rounding.

#doc-parser#rag#no-ocr

Medium confidence: claim test with one run per setup. How scores work. Scores only use measured results; parts Rocky didn't measure show as “not measured” and don't count.

Retest history

    Testing ends when the run ends. If the repo ships a new version with a bold new claim, or newer models make a fair rematch possible, Rocky reruns the same test packet and the new result lands here next to the old one, so you can compare versions and models side by side.

    Rerun it yourself

    📦 When the test is done, the exact scripts, raw results and a copy-paste prompt for your own AI agentAI agent An AI that takes actions in steps (runs commands, edits files, browses) instead of only chatting. Glossary · Learn more will appear here.

    Repo & thanks

    Where the claim was posted

    Victor
    @victor_explore ·
    The claim Rocky tested

    📄 Bookmark these 10 GitHub repos that turn any document into text your agent can read 1. MarkItDown (189K stars, MIT) One command turns Word, PowerPoint, Excel, PDF and HTML files into Markdown. From Microsoft. It needs a plugin and a model to read https://github.com/microsoft/markitdown

    💬 2🔁 7❤️ 22📊 1.1K🔖 30

    Counts as of (Rocky's last check)

    Open on X →

    Where else this repo is talked about

    On X: 25 posts linking the repo

    Posts from to , in 8 languages. Checked . Found with X search for links to the repo; more may exist. Oldest first:

    • Earliest we found @pimoba2019 An open-source tool worth knowing: Microsoft's MarkItDown converts PDF, Word, Excel, and other files to Markdown for easier integration into text-analysis workflows. Its official focus is on preserving structures such as headings, lists, and tables, not high-fidelity layout conversion. My take: for a research assistant, organize the input first, then let the model summarize. Source and docs:English translation · Chinese original ❤️ 0 · 🔁 0 · 📊 8 open
    • @mmatthias @Jestopher_BTC❤️ 1 · 🔁 0 · 📊 32 open
    • @Gyome1_ 24 AI tools that replace $500/month in subscriptions transcribe, translate, design, run models locally. free in your browser or on your laptop documents & learning 1.) → clean AI-ready text from any site 2.) → PDF, Word, Excel,❤️ 43 · 🔁 11 · 📊 2.1K open
    • @nrqa__ repo:❤️ 3 · 🔁 0 · 📊 237 open
    • @XsMigu on itmarkitdown is a lightweight open source tool by microsoft that converts various file formats straight into clean markdown for llm and text workflows. handy if you're tired of writing messy parsing scripts. repo in reply :❤️ 0 · 🔁 0 · 📊 1 open
    • @Marco_Exito 1. Converts PDFs, Office files, HTML, and images into Markdown that is ideal for feeding into any AI. Microsoft released it publicly after using it internally. You start with messy documents and end with data your LLM can read.English translation · Spanish original ❤️ 78 · 🔁 2 · 📊 9.6K open
    All 25 posts, oldest first
    • Earliest we found @pimoba2019 An open-source tool worth knowing: Microsoft's MarkItDown converts PDF, Word, Excel, and other files to Markdown for easier integration into text-analysis workflows. Its official focus is on preserving structures such as headings, lists, and tables, not high-fidelity layout conversion. My take: for a research assistant, organize the input first, then let the model summarize. Source and docs:English translation · Chinese original ❤️ 0 · 🔁 0 · 📊 8 open
    • @mmatthias @Jestopher_BTC❤️ 1 · 🔁 0 · 📊 32 open
    • @Gyome1_ 24 AI tools that replace $500/month in subscriptions transcribe, translate, design, run models locally. free in your browser or on your laptop documents & learning 1.) → clean AI-ready text from any site 2.) → PDF, Word, Excel,❤️ 43 · 🔁 11 · 📊 2.1K open
    • @nrqa__ repo:❤️ 3 · 🔁 0 · 📊 237 open
    • @XsMigu on itmarkitdown is a lightweight open source tool by microsoft that converts various file formats straight into clean markdown for llm and text workflows. handy if you're tired of writing messy parsing scripts. repo in reply :❤️ 0 · 🔁 0 · 📊 1 open
    • @Marco_Exito 1. Converts PDFs, Office files, HTML, and images into Markdown that is ideal for feeding into any AI. Microsoft released it publicly after using it internally. You start with messy documents and end with data your LLM can read.English translation · Spanish original ❤️ 78 · 🔁 2 · 📊 9.6K open
    • @zhishen63629282 Before building a knowledge base, convert office files to Markdown. Microsoft's MarkItDown supports PDF, Word, PPT, and Excel, and is MIT-licensed. Getting started: pip install 'markitdown[all]'; markitdown file.pdf -o file.md. Basic conversion runs locally; Azure APIs cost extra. It focuses on content extraction, so check complex layouts.English translation · Chinese original ❤️ 0 · 🔁 0 · 📊 9 open
    • @Techbruneth 1. Convert PDF, Office documents, HTML, and images to Markdown and feed them directly to any AI. Microsoft used it internally before open-sourcing it. Start with a pile of messy documents and end with data an LLM can read.English translation · Chinese original ❤️ 6 · 🔁 0 · 📊 978 open
    • @sun_jinwei20915 The Word document became text, but the delivery date in the screenshot did not come through. The file looked complete, but one crucial sentence was lost. Microsoft's MarkItDown OCR plugin can recognize embedded document images and insert their text into the converted output. One detail: if no model client is configured, it skips OCR. Converting a file does not mean the text inside its images was read. Suggested tag: #AI工具 [Microsoft project documentation](English translation · Chinese original ❤️ 1 · 🔁 0 · 📊 117 open
    • @AneesManzo44813 MarkItDown HTML→Markdown check: • “Price (USD / month)” header: units survived. • “$” and “/ month” added with CSS: units disappeared; “20” survived. Synthetic local test, v0.1.8. Check units before feeding extracted text to an LLM.❤️ 0 · 🔁 0 · 📊 3 open
    • @yesjinz The product introduction is in PPT, the specifications are in Excel, and the manual is another PDF. To have AI compare these materials, you first need to handle the different formats. Microsoft's open-source MarkItDown can convert them to Markdown while trying to preserve headings, lists, and tables, for use in document organization or a knowledge base. It focuses on extracting content, so complex layouts still need checking.English translation · Chinese original ❤️ 1 · 🔁 0 · 📊 75 open
    • @YoDevp Official repository (Python, and it also includes an MCPMCP Model Context Protocol: a standard plug that lets AI assistants use outside tools and data (files, browsers, databases). Glossary · Learn more server for use from your agent):English translation · Spanish original ❤️ 0 · 🔁 0 · 📊 7 open
    • @canpjll Microsoft's open-source MarkItDown can convert PDF, Word, Excel, PPT, and other formats to Markdown for ChatGPT or Codex to read and analyze. Install: pip install 'markitdown[all]' Usage: markitdown file.pdf > file.md #GitHub #Codex #AI工具English translation · Chinese original ❤️ 5 · 🔁 0 · 📊 312 open
    • @rina_draws5pm The MarkItDown episode is up. It was made by Microsoft, and it converts files in various formats to Markdown. I checked it only against the README, so I am holding off on a verdict. ▶English translation · Korean original ❤️ 0 · 🔁 0 · 📊 1 open
    • @lxy71 Microsoft's free MarkItDown turns Word docs into Markdown you can review before using it with AI. Python 3.10–3.14, in a venv: pip install 'markitdown[docx]' markitdown brief.docx -o brief.md Check headings and tables against the original.❤️ 0 · 🔁 0 · 📊 17 open
    • @asrar_rg Tool name: MarkItDown 🛠️ It works with PDF, Word, Excel, PowerPoint, and more. Step-by-step installation instructions are in the Digital Secrets community on Telegram below 👇English translation · Arabic original ❤️ 2 · 🔁 0 · 📊 61 open
    • @luchenyang13 You cannot avoid this when building RAGRAG Retrieval-augmented generation: look up relevant documents first, then let the model answer using them. Glossary · Learn more: Microsoft's MarkItDown converts PDF, Word, PPT, Excel, and HTML to Markdown before feeding it to a model. pip install is all it takes. It is an established tool with 189 thousand stars and recently returned to trending.English translation · Chinese original ❤️ 2 · 🔁 0 · 📊 127 open
    • @FreeSites_com @RoundtableSpace FREE tool turns PDFs, Word docs, PowerPoints and Excel files into clean text an AI can actually work with. Markitdown By Microsoft $MSFT❤️ 1 · 🔁 0 · 📊 31 open
    • @TheHour2359 Source URLs Anthropic Scion GhidraMCP REA Microsoft MarkItDown Docling ArtCraft WordCraft Cyberpunk 2077 Titanfall modEnglish translation · Korean original ❤️ 1 · 🔁 0 · 📊 105 open
    • @irsiyl PDFs can look the same while containing different things. Compared my own files with the free, open-source MarkItDown. Text included → extracted Japanese Image only → blank (no OCR) Conversion: markitdown a.pdf -o out.markdown See the official source for setup instructions. Do not ask it to make brilliant deductions from material it could not read.English translation · Japanese original ❤️ 0 · 🔁 0 · 📊 9 open
    • @pizaniadv Converts Word, PDF, spreadsheets, and PowerPoint to Markdown, the text AI reads. → pip install 'markitdown[all]' → MIT License → The caveat, according to the README: it may not be the best option for faithful conversion intended for human reading.English translation · Portuguese original ❤️ 0 · 🔁 0 · 📊 6 open
    • @victor_explore 📄 Bookmark these 10 GitHub repos that turn any document into text your agent can read 1. MarkItDown (189K stars, MIT) One command turns Word, PowerPoint, Excel, PDF and HTML files into Markdown. From Microsoft. It needs a plugin and a model to read❤️ 22 · 🔁 7 · 📊 1.1K open
    • @manivardhan123 Before blaming your AI, check what it actually read. Microsoft’s MarkItDown converts PDFs, Word, Excel and slides into Markdown for AI workflows. Convert → inspect the output → then use it.❤️ 0 · 🔁 0 · 📊 3 open
    • @oliviscusAI repo: follow for more useful tools like this.❤️ 1 · 🔁 0 · 📊 198 open
    • @yn99445170 Do not rush to pay for a file-conversion tool subscription; this Microsoft tool is actually open source. MarkItDown can convert PDF, Word, and Excel to Markdown that is easy to feed to AI, and it runs locally. This kind of handy little tool is more practical than a pile of chat wrappers, but do not expect lossless conversion of complex layouts. Source:English translation · Chinese original ❤️ 0 · 🔁 0 · 📊 6 open

    Ran it yourself?

    Share your rerun

    1. Download the rerun bundle above.
    2. Run it, or paste the prompt into your AI agent.
    3. Post your results.json (a gist is fine) and reply to @RockyTested with the link.

    Rocky reruns or spot-checks every submission before it counts. Verified reruns will appear here with your handle.

    🏅 Helper leaderboard

    No verified reruns yet. Be the first!

    Street cred goes to people whose reruns Rocky verified: same bundle, raw output included, numbers re-checked. How it works

    Badge & stat card

    Rocky Tested: REAL

    Put the verdict badge in a README or post. It always links back to the measured results.

    [![Rocky Tested: REAL](https://rockytested.com/reviews/microsoft-markitdown/badge.svg)](https://rockytested.com/reviews/microsoft-markitdown/)
    Rocky Tested stat card for markitdown: does it really turn any document into clean text?

    Stat card (1200×630). This is what shows up when the review is shared on X.

    Machine-readable: /v1/reviews/microsoft-markitdown · Words with a dotted underline have a quick explanation: hover or tap. Glossary