MarkItDown vs pdf-inspector
Which should you use? A side-by-side look at what each one does, who it suits, what it costs, how hard it is to set up, and where each falls short.
Open source · MIT
Python tool that converts files like PDF, Word, Excel and PowerPoint into Markdown.
Open source · MIT
Rust library and CLI that checks whether a PDF has real text and converts it to Markdown locally.
The short answer
Choose MarkItDown if you need…
- Developers building LLM or text analysis pipelines that need document text
- People who want to convert a batch of PDFs or Office files to Markdown from the command line
- Projects that need a Python library to add document conversion to existing code
Choose pdf-inspector if you need…
- Developers building pipelines that process many PDFs and need to route scanned ones to OCR
- Teams converting reports, papers, invoices, or legal PDFs into Markdown locally
- Projects that want to avoid paid OCR services for text-based documents
- Browser apps that need PDF text extraction without a server round trip
Side-by-side
| MarkItDown | pdf-inspector | |
|---|---|---|
| Type | Library | Library |
| Price | Free and open source | Free and open source |
| Licence | MIT | MIT |
| GitHub stars | 193k | 19.8k |
| Setup difficulty | Beginner | Intermediate |
| How you get it | Install with a package manager | Install with a package manager |
| Main language | Python | Rust |
| Last code update | 8 days ago | 14 days ago |
What each one is
MarkItDown
MarkItDown is a Python utility that turns many common file types, such as PDFs, Office documents, HTML, images, audio and YouTube links, into Markdown text. It keeps structure like headings, lists, tables and links. People use it mainly to prepare documents as plain text for large language models and text analysis pipelines.
pdf-inspector
pdf-inspector reads PDF files and first decides whether each one is text-based or scanned, which tells you if it needs OCR (optical character recognition). For text-based PDFs it extracts the text with position information and converts it to clean Markdown without OCR. It is a Rust library with bindings for Python, Node.js, and browser WebAssembly, plus command-line tools.
Best for
MarkItDown
- Developers building LLM or text analysis pipelines that need document text
- People who want to convert a batch of PDFs or Office files to Markdown from the command line
- Projects that need a Python library to add document conversion to existing code
pdf-inspector
- Developers building pipelines that process many PDFs and need to route scanned ones to OCR
- Teams converting reports, papers, invoices, or legal PDFs into Markdown locally
- Projects that want to avoid paid OCR services for text-based documents
- Browser apps that need PDF text extraction without a server round trip
Strengths
MarkItDown
- Preserves document structure such as headings, lists, tables and links
- Supports many formats from one tool, with optional dependencies you can install selectively
- Has a Python API and command line interface, plus optional third-party plugins
pdf-inspector
- Fast local processing; the README reports text-based PDFs handled in under 200ms and a benchmark run with the fastest total time among compared local engines
- Clear output types (TextBased, Scanned, ImageBased, Mixed) with a confidence score and per-page OCR routing
- Available as a Rust crate, Python and Node packages, a browser WebAssembly build, and CLI tools under the MIT license
Not ideal for
MarkItDown
- Anyone needing high-fidelity layout for human reading, since the README says output is meant for text analysis tools and may not be the best for human consumption
- Untrusted environments without input sanitizing, because the tool runs with the current process's file and network access
- Users who need video conversion from the built-in converters, since the README says only the Azure Content Understanding option supports video
pdf-inspector
- People who only need a one-off conversion and do not want to install a toolchain, since no prebuilt binaries are listed for the latest release
- Users with mostly scanned PDFs who want OCR as the main feature, because OCR requires separately installed PDFium and ONNX Runtime libraries
- Anyone who needs guaranteed output on unusual layouts, since the README benchmark is a single corpus evaluation
Trade-offs
MarkItDown
- The README says output is designed for machines and may not suit high-fidelity human reading
- Some conversions, such as cloud-based Azure options, are billable and require external endpoints
- Converting with untrusted inputs requires care because it accesses resources the process can reach
pdf-inspector
- Requires Rust tooling for the CLI and Rust library; the latest release lists no binaries
- Selective OCR needs extra external libraries (PDFium and ONNX Runtime) installed separately
- The benchmark is produced by the project's own team and covers only a 200-PDF corpus with OCR disabled
Getting started
MarkItDown
Install with pip (all optional dependencies)
pip install 'markitdown[all]'pdf-inspector
Python package
pip install pdf-inspectorNode.js package
npm install @firecrawl/pdf-inspectorFrequently asked questions
What is the difference between MarkItDown and pdf-inspector?
MarkItDown: Python tool that converts files like PDF, Word, Excel and PowerPoint into Markdown. pdf-inspector: Rust library and CLI that checks whether a PDF has real text and converts it to Markdown locally. MarkItDown suits developers building llm or text analysis pipelines that need document text, while pdf-inspector suits developers building pipelines that process many pdfs and need to route scanned ones to ocr.
Are MarkItDown and pdf-inspector free?
MarkItDown: Free and open source. pdf-inspector: Free and open source.
Which is easier to set up, MarkItDown or pdf-inspector?
MarkItDown is easier to get started with (rated beginner); pdf-inspector is rated intermediate and usually needs more setup.
Is MarkItDown or pdf-inspector more popular?
MarkItDown has more GitHub stars (193k) than pdf-inspector (19.8k). Popularity isn't the same as fit — check which one matches your use case above.
What are other alternatives to MarkItDown and pdf-inspector?
Other options people compare them with include pdfplumber, Docling.
Keep comparing
Built from our catalogue entries for both products: open-source details come from each project's README (AI-assisted, refreshed weekly) and GitHub data; AI-tool details are editorial. Spotted something wrong? Let us know from either product's page.