--- title: "markitdown" type: "AI Tool" url: "https://aidemos.com/tools/markitdown" description: "See our MarkItDown PDF-to-markdown test: it kept prose intact and handled long files fast, but tables, headings, charts, images, and scans broke." category: "developer-tools" website: "https://github.com/microsoft/markitdown?via=aidemos" published: "2026-07-21T07:41:11.669712+00:00" updated: "2026-07-21T15:24:53.236935+00:00" --- # markitdown Fast native-PDF text extraction for markdown, but structure, charts, images, and scans are unreliable. ## TL;DR Verdict **Fast text extraction, weak structural fidelity** **Where it wins:** - You only need fast plain-text extraction from native-digital PDFs. - You can tolerate flat headings and inconsistent table parsing. - You can supply an external OpenAI llm_client for scanned PDFs. **Main limitation:** You need reliable tables, charts, or figure retention. **Pricing:** Open source $0 `Native PDFs` · `Inconsistent tables` · `Scanned OCR fallback` · `Fast runtime` **Website:** [Visit markitdown](https://github.com/microsoft/markitdown?via=aidemos) > **Fast text extraction, weak structural fidelity** > > MarkItDown is a good fit when you only need quick plain-text extraction from native PDFs. In this benchmark it kept prose intact and processed long files quickly, but tables were inconsistent, headings flattened, charts became unusable strings, images disappeared, and scanned PDFs produced nothing unless an external OpenAI client was configured. ## Demo Recording [Video: markitdown demo recording](https://d3epheqghktydj.cloudfront.net/markitdown-markitdown-input2-financialpdf-demo-2-e078d9b77be8.mp4) *Video — Walkthrough of MarkItDown converting the table-heavy financial report.* ## Feature-by-Feature Breakdown ### Native PDF Text Extraction **Verdict:** Preserved Extracts running prose from native-digital PDFs into readable text/Markdown, as exercised on the hybrid earnings report, the 18-page financial report, the Target.com/mobile paragraph, and the Additional Notes section. The evidence shows strong capture of plain prose, including long reports, though document structure can leak through or be flattened. **Input:** > **Image** **Output:** > **Image** **Input:** > **Image** **Output:** > **Image** **Bottom line:** Strong for plain prose on native PDFs, including long ones, but it does not preserve document structure. ### Table Extraction **Verdict:** Mixed Reconstructs tables from PDF pages into structured table form or Markdown/text, using the U.S. Stores properties table and the financial-summary tables in the reports. Simple tables can survive, but denser financial tables flatten, misalign, or lose header-to-value mapping. **Input:** > **Image** **Output:** > **Image** **Input:** > **Image** **Output:** > **Image** **Input:** > **Image** **Output:** > **Image** **Input:** > **Image** **Output:** > **Image** **Input:** **Output:** **Bottom line:** Selective table parsing is the main weakness here: simple tables can survive, but dense financial tables are unreliable. ### Chart Extraction **Verdict:** Failed Processes embedded charts from PDFs into structured data or chart-preserving output, as tested on the financial highlights chart and the hybrid earnings report. The evidence shows labels and values often become jumbled or reduced, so the recovered chart data is unreliable. **Input:** > **Image** **Output:** > **Image** **Bottom line:** Charts were not recoverable in this benchmark; the output is unusable as structured financial data. ### Document Hierarchy Preservation **Verdict:** Failed Attempts to carry section structure into Markdown by preserving headings and outline levels, as tested on 'PART I / Item 1. Business' and 'I. Summary of Operating Performance.' In the observed PDFs, the hierarchy collapsed into body text instead of staying as headings. **Input:** > **Image** **Output:** > **Image** **Input:** > **Image** **Output:** > **Image** **Bottom line:** The document outline is lost entirely; this is not a heading-preserving Markdown converter in the tested setup. ### Reading Sequence Preservation **Verdict:** Mixed Keeps page content in logical order on straightforward layouts, as seen in the table of contents, but can merge content into a jumbled block on the two-column welcome page and directors list. This is the tool’s page-level reading-flow behavior rather than content extraction itself. **Input:** > **Image** **Output:** > **Image** **Input:** > **Image** **Output:** > **Image** **Bottom line:** It can keep sequence on straightforward pages, but two-column layouts are where reading order falls apart. ### Embedded Image Preservation **Verdict:** Failed Retains embedded non-text visuals such as logos, graphics, cover art, and other image assets during conversion. In the tested native-PDF workflow, the Target annual report cover logo and other graphics were omitted rather than preserved in place. **Input:** > **Image** **Output:** > **Image** **Input:** > **Image** **Output:** > **Image** **Input:** **Output:** **Bottom line:** Images, logos, and scanned visuals were omitted in the tested native-PDF workflow. ### Scanned PDF OCR Conversion **Verdict:** Failed Converts scanned PDFs by routing them through OCR via an external OpenAI llm_client/API. In the tested setup, a scanned research paper produced no Markdown output because OCR was skipped, showing that the workflow depends on that external OCR path. **Input:** > **Pdf** **Output:** ``` No Markdown output was produced; the output file was 0 bytes because MarkItDown skipped OCR unless an external OpenAI llm_client/API is configured. ``` **Bottom line:** Without an external llm_client/OpenAI integration, scanned PDFs do not produce usable output. ### Long-Document Processing **Verdict:** Strong Completes long native PDFs without crashing, as shown by the 84-page hybrid earnings report and the 18-page quarterly financial report. Runtime stayed stable even when output quality varied, indicating the tool can process large documents reliably. **Input:** > **Pdf** **Output:** ``` Processed the 84-page hybrid earnings report in about 8 seconds without crashing, but table, chart, and hierarchy failures persisted throughout. ``` **Input:** > **Pdf** **Output:** ``` Processed the 18-page financial report in about 3 seconds without crashing, with consistent text extraction across the file. ``` **Bottom line:** Runtime is dependable on native PDFs; the limiting factor is output quality, not completion. ## Pricing | Plan | Price | Notes | | --- | --- | --- | | Open source | $0 | MIT; self-hosted library. | *Free - $0 - Open Source* ## Is It Right For You? **Use it if** - You only need fast plain-text extraction from native-digital PDFs. - You can tolerate flat headings and inconsistent table parsing. - You can supply an external OpenAI llm_client for scanned PDFs. **Skip it if** - You need reliable tables, charts, or figure retention. - You need Markdown heading hierarchy preserved. - You need scanned PDFs to work out of the box without extra OCR setup. - You need images and logos preserved in-place. ## Classification - **Category:** developer-tools - **Subcategory:** documentation-tools - **Type:** text ## Frequently Asked Questions **Q: Does MarkItDown preserve running text from native PDFs?** Yes. It preserved the Target.com & mobile paragraph and the quarterly report's Additional Notes text with high character accuracy, though the denser report leaked headers and page numbers into the text flow. **Q: How well does MarkItDown handle tables?** Mixed. The U.S. stores properties table parsed cleanly, but the financial summary, business results, financial position, and segment tables were flattened, partially parsed, or had misaligned columns. **Q: Can MarkItDown reconstruct charts?** Not reliably. The financial highlights chart was reduced to reversed or jumbled numeric strings, and the chart labels were detached from the values. **Q: Does MarkItDown preserve headings and outline structure?** No. Section headers such as PART I / Item 1. Business and I. Summary of Operating Performance were flattened into body text instead of becoming Markdown headings. **Q: Can MarkItDown process scanned PDFs without extra setup?** No. The scanned research paper produced a 0-byte output file because OCR was skipped unless an external OpenAI llm_client/API was configured. **Q: Does MarkItDown keep images and logos?** No. The Target bullseye logo and other cover visuals were dropped without placeholders in the tested native-PDF workflow. **Q: How fast was MarkItDown on the tested files?** It processed the 84-page hybrid earnings report in about 8 seconds and the 18-page financial report in about 3 seconds, without crashing. **Q: Is MarkItDown open source?** Yes. The report identifies MarkItDown as open source under MIT. ## Similar Tools AI tools similar to markitdown: - [pymupdf4llm](https://aidemos.com/tools/pymupdf4llm) — Open-source PDF-to-markdown for clean native PDFs, but unreliable on scans, dense tables, and images. - [liteparse](https://aidemos.com/tools/liteparse) — Open-source PDF-to-markdown parsing that works well on native-digital reports, but degrades on scans, tables, and charts. - [doc2mark](https://aidemos.com/tools/doc2mark) — Open-source PDF-to-markdown that preserves native text and headings, but still struggles with tables, charts, images, and scans.