Our take
Activeregular commits and releases- Activity
- 85
- Community
- 54
- Issues
- 55
- Pull requests
- 75
+734 stars in the last 30 days
- Releases more often than 87% of the projects we track
- Merges more pull requests than 79% of the projects we track
This is an actively maintained, Apache-2.0 PDF tool with broad extraction and tagging capabilities, suited to teams willing to account for its Java-based core and optional hybrid setup.
Good fit if
- You need structured PDF output, including element coordinates, for search, RAG, or downstream processing.
- You want an open-source workflow for generating Tagged PDFs from untagged files.
- You can use Java 11+ for the core workflow and, for the Node.js SDK, meet its Node.js 22.13+ requirement.
Look elsewhere if
- You need to process Word, Excel, or PowerPoint files, which the project does not support.
- Your workflow requires PDF/UA export or a visual accessibility editor as part of the open-source core.
- You need a PDF tool that does not depend on a JVM for its core processing.
All health signals
| Last commit | 2026-10-05 (5 days ago) |
|---|---|
| Commits, last 90 days | 100+ |
| Releases, last 12 months | 51 (latest v2.5.12, 2026-10-01) |
| Contributors | 27 (top contributor: 66% of commits) |
| Issues closed, last 90 days | 14+ (typically closed in 11 days) |
| Pull requests merged, last 90 days | 65 (typically merged in 0 days) |
| Project age | 17 months |
Checked on 2026-10-11 with the GitHub API.
Project history
Daily GitHub snapshots since Oct 7, 2026. History covers stars and forks; health signals are not tracked historically.
Stars
30,247Forks
2,894Change since Nov 8, 2026: +30 stars·+3 forks
Overview
OpenDataLoader PDF is a PDF parser and accessibility tool. It extracts document content into Markdown, JSON, and HTML, preserving layout information such as reading order and element coordinates for downstream applications.
It also generates Tagged PDFs from untagged files, giving teams a way to automate part of PDF accessibility remediation. The core project is Apache-2.0 licensed; PDF/UA export and a visual accessibility editor are described as enterprise features.
Key Features
- Convert PDFs to Markdown, JSON, HTML, text, and annotated PDF output.
- Include page numbers, semantic element types, and bounding boxes in structured output.
- Extract headings, lists, tables, images, and document reading order.
- Use an optional hybrid mode for complex layouts, OCR, formula extraction, and image descriptions.
- Generate Tagged PDFs from untagged documents.
- Process files through Java, Python, or Node.js interfaces, with a command-line option.
- Filter certain hidden or suspicious PDF text to reduce prompt-injection risks in AI workflows.
Use Cases
- RAG developers can preserve headings, tables, and page coordinates when preparing PDF content for retrieval and citations.
- Document-processing teams can batch-extract structured data from digital PDFs without building a parser from scratch.
- Accessibility teams can automatically generate Tagged PDFs as an initial remediation step for untagged documents.
- Teams handling scanned or layout-heavy PDFs can try hybrid processing with OCR when local extraction is insufficient.
What you need
Detected in the repository
- Node.js >=22.13 (from package.json)
- Automated checks on GitHub Actions
License in plain words
Apache-2.0permissive
- Commercial use: yes
- Modify and redistribute: yes
- You must keep: the license, the NOTICE file and a note of your changes
- Share your changes: no
- Includes an explicit patent grant from the contributors:
A summary, not legal advice: the LICENSE file is what applies.
Getting Started
For Python, install the package and convert a PDF:
pip install -U opendataloader-pdf
import opendataloader_pdf
opendataloader_pdf.convert(
input_path="file.pdf",
output_dir="output/",
format="markdown,json"
)
See the README for Java and Node.js setup, hybrid mode, and additional options.
Alternatives
- text-extract-api: It exposes document extraction as a self-hostable API using OCR and Ollama, while OpenDataLoader PDF offers Java, Python, and Node.js SDKs and hybrid processing.
- unstructured: It parses many document types into structured elements through a Python library, while OpenDataLoader PDF focuses on PDFs and also supports PDF auto-tagging.
- marker: It converts PDFs and other documents to Markdown, JSON, HTML, or chunks using local models, while OpenDataLoader PDF offers multiple SDKs and hybrid processing.
- docling: It handles PDFs alongside Office, image, and audio formats, while OpenDataLoader PDF focuses on PDFs and includes automatic tagging for accessibility.
| Project | Language | License | Stars | Status |
|---|---|---|---|---|
| opendataloader-pdf | Java | Apache-2.0 | 29.5k | Active |
| text-extract-api | Python | MIT | 3.2k | Quiet |
| unstructured | HTML | Apache-2.0 | 15.5k | Active |
| marker | Python | Apache-2.0 | 40.2k | Active |
| docling | Python | MIT | 69.8k | Active |
Considerations
The Python quick start requires Java 11 or later in addition to Python. The Node.js package requires Node.js 22.13 or later. Hybrid processing adds a separately installed backend and may require additional OCR engines or language data depending on the setup. The project reports regular commits and releases and ongoing issue and pull-request activity, but benchmark figures in the README are project-published results and may not reflect every document collection. The README also distinguishes free Tagged PDF generation from enterprise PDF/UA export and visual editing.
Found this useful?
Share it with someone who would like opendataloader-pdf.