6 Best Open Source Alternatives to Docling

Updated July 2026

Turning a messy PDF into clean structured text is deceptively hard: one file can carry multi-column layouts, merged table cells, footnotes, scanned pages, and formulas, and a converter that nails one of those often mangles another. Because every project here is itself open source, choosing among them is not about escaping a license but about matching a parser's strengths to the documents you actually receive. Open code lets you inspect exactly how reading order is inferred and tables are reconstructed, run the whole pipeline offline for confidential files, and swap out the OCR or layout stage when your corpus exposes its weak spots rather than waiting on a vendor's roadmap.

PaddleOCR logo

1.PaddleOCR

82.2kApache-2.0Python Self-host

PaddleOCR is an OCR toolkit and document AI engine for converting PDFs and images into structured data. It is aimed at extracting text, tables, formulas, charts, and layout from documents so the output can be used by LLM and RAG workflows.

  • Converts PDFs and images into Markdown or JSON
  • Document parsing for text, tables, formulas, and charts
  • PP-OCRv6 single model supports 50 languages
  • Browser inference with PaddleOCR.js
Tesseract logo

2.Tesseract

74.7kApache-2.0C++
Tesseract screenshot

Tesseract is an open source OCR engine with a command line program for turning images into text. It supports Unicode, more than 100 languages out of the box, and a traineddata-based workflow for adding language models. It also includes libtesseract for embedding OCR in other applications.

  • LSTM OCR engine with legacy mode support
  • Unicode support and more than 100 languages
  • Input images in PNG, JPEG, and TIFF
  • Outputs plain text, hOCR, PDF, TSV, ALTO, and PAGE
MinerU logo

3.MinerU

67.5kOtherPython Self-host
MinerU screenshot

MinerU turns complex documents into structured Markdown or JSON for LLM, RAG, and agent workflows. It handles PDF, DOCX, PPTX, XLSX, images, and web pages, with support for scanned documents, handwriting, multi-column layouts, and cross-page table merging.

  • PDF, DOCX, PPTX, XLSX, images, and web pages to Markdown or JSON
  • VLM plus OCR dual engine with 109-language recognition
  • Formulas to LaTeX and tables to HTML
  • Scanned docs, handwriting, multi-column layouts, and cross-page table merging
Surya logo

4.Surya

20.8kApache-2.0Python Self-host
Surya screenshot

Surya is a 650M parameter OCR model for document intelligence. It turns document images into text and structured page data, including detected text, bounding boxes, and page-level OCR results.

  • 650M parameter OCR model
  • Layout analysis with reading order
  • Table recognition for rows and columns
  • Multilingual OCR across 90+ languages
docTR logo

5.docTR

6.1kApache-2.0Python Self-host
docTR screenshot

docTR is an optical character recognition library for parsing textual information from documents. It handles the core OCR workflow of locating words and identifying the characters in each word, with pretrained models for document analysis.

  • Two-stage OCR with text detection and text recognition
  • Pretrained models for document analysis
  • KIE predictor for structured predictions
  • PDF and image input support
Teedy logo

6.Teedy

2.6kGPL-2.0JavaScript Self-host
Teedy screenshot

Teedy is an open source document management system for individuals and businesses. It is built to store, organize, search, and share documents in one place, with support for common office files and video files.

  • Optical character recognition and full text search
  • Supports image, PDF, ODT, DOCX, PPTX, and video files
  • Workflow system with file versioning and tags
  • LDAP authentication, 2-factor authentication, and audit logs

Our picks

Sort these by whether you want one broad converter or a sharper tool for a specific failure mode.

Closest all-in-one converter: MinerU MinerU turns PDFs, DOCX, PPTX, XLSX, images, and web pages into structured Markdown or JSON, the nearest match for Docling's broad scope. Its VLM-plus-OCR dual engine handles scans, handwriting, and multi-column layouts, converting formulas to LaTeX and tables to HTML. It supports fully offline deployment and native MCP, LangChain, and Dify integration.

LLM-ready document parsing: PaddleOCR PaddleOCR is an OCR toolkit and document AI engine aimed at LLM and RAG workflows, extracting text, tables, formulas, and charts into Markdown or JSON. Its models cover a wide range of languages and run across NVIDIA GPU, Intel CPU, and other accelerators. Projects like Dify and RAGFlow already build on it.

Layout and reading-order specialist: Surya Surya targets the parts of conversion that fail silently: layout analysis, reading-order detection, and table recognition on top of OCR across more than 90 languages. It runs on NVIDIA GPUs through vLLM or on CPU and Apple Silicon through llama.cpp. Choose it when structure, not text, is what you keep getting wrong.

Lightweight pure OCR: Tesseract Tesseract is the dependable choice when you need text extraction without a heavy model stack. Its LSTM engine handles more than 100 languages and outputs plain text, hOCR, PDF, and ALTO, and libtesseract embeds OCR in your own application. It is a focused OCR engine rather than a full parser, so pair it with a layout-aware tool when structure matters.

What changes when you replace Docling

One integrated converter, or a few sharper tools chained together: that choice comes before any head-to-head comparison. Docling hides PDF parsing, OCR, layout detection, and table extraction behind a single document model, which is convenient until one stage misbehaves on your worst files. Some replacements keep that all-in-one shape: MinerU pairs a vision-language model with OCR to handle PDFs, Office files, scans, and handwriting, converting formulas to LaTeX and tables to HTML. Others deliberately do less, like Tesseract, a pure OCR engine, or docTR, a two-stage detection-and-recognition library you wire into your own pipeline.

Where replacements differ most is layout fidelity, not raw text extraction. Reading order, merged cells, captions, and multi-column pages are the parts that break silently, so weigh how each tool reconstructs structure. Surya ships explicit layout analysis with reading order and table recognition across more than 90 languages, while PaddleOCR targets LLM-ready output with document parsing for text, tables, formulas, and charts. If your documents are largely scanned or multilingual, an OCR-first tool with strong language coverage will usually beat a general parser tuned for born-digital reports.

Because these are libraries and services rather than hosted accounts, migration is a reprocessing project. Inventory every place that consumes Docling's Markdown, JSON, page numbers, and image references, run a representative sample through the candidate, and diff the output before you commit. Expect to rebuild search indexes and embeddings, since different chunk boundaries and table serialization change the text you feed downstream. Keeping your source files as the system of record makes this switch, and any future one, far less painful.

Related alternatives

Frequently asked questions

Docling is open source, so why would a team switch?+

Because the choice here is between open tools, not away from a license. Teams look past Docling when they need a different output schema, a smaller dependency footprint, stronger OCR for scans, or the ability to swap a single parsing stage. The decision should come from repeatable failures in your own corpus, not a general preference for more modular tooling.

Should I standardize on Markdown or JSON after leaving Docling?+

Pick the format your downstream systems can validate, not just the one that reads well. Markdown is convenient for review and language-model input but can lose structural detail. JSON preserves page coordinates, tables, figures, and provenance, but needs a schema you own. If you need both, treat one as canonical and generate the other from it so the two never drift apart.

How well will an alternative handle scanned pages versus born-digital PDFs?+

That gap is the whole game. Born-digital reports, scanned contracts, and slide decks saved as PDFs stress different parts of a parser, so do not benchmark only on clean examples. For scan-heavy or multilingual work, an OCR-first engine like PaddleOCR or MinerU tends to win, since both combine OCR with layout awareness. Build a test set from the worst documents you actually receive.

Which tool should I look at if tables are the hard part?+

Tables usually break because structure changes, not because text is missing: merged cells, repeated headers, and totals split from their rows. Favor a tool with dedicated table handling, like Surya, which offers explicit table recognition for rows and columns, or MinerU, which serializes tables to HTML. Whatever you choose, write mapping tests before switching, because a visually similar table can still be wrong for retrieval.

Can I run document conversion fully offline for confidential files?+

Yes, and it is one of the strongest reasons to self-host conversion. MinerU explicitly supports private, fully offline deployment, and Tesseract runs entirely on local hardware. Test the stack with outbound traffic blocked, though, because some components fetch models or language data on first run. Package required assets with your deployment and pin versions so nothing reaches out unexpectedly.

Do I need a GPU to run these converters?+

It depends on the tool. Tesseract runs on CPU, while PaddleOCR supports NVIDIA GPU, Intel CPU, and other accelerators. Surya runs through a vLLM backend on NVIDIA GPUs or llama.cpp on CPU and Apple Silicon, and MinerU runs across a range of GPUs and accelerators. Match the tool to your hardware budget, and measure throughput on your real document mix rather than short samples.

Will I need to rebuild my RAG or search index after switching?+

Usually, yes. Even when the source documents are unchanged, a different converter can alter chunk boundaries, heading text, table rendering, and page metadata, which changes the text sent to the embedding model. Keep the old index until you compare retrieval results on known questions, then rebuild with stable document IDs and a clear rollback path if quality drops.