pdf_oxide
PDFOxide is a high-performance PDF processing library written in Rust with bindings for 19 languages, offering 5–15× faster text and image extraction than industry alternatives. It achieves a 100% pass rate on 3,830 real-world PDFs and supports PDF creation, editing, and conversion to markdown.
Key facts
Objective fields from the source. Values we can't verify are shown as “Unknown” rather than guessed.
| Field | Value |
|---|---|
| Repository | yfedoseev/pdf_oxide |
| Owner | yfedoseev |
| Primary language | Rust |
| License | Apache-2.0 — OSI-approved |
| Stars | 883 |
| Forks | 103 |
| Open issues | 74 |
| Latest release | v0.3.73 (2026-07-06) |
| Last updated | 2026-07-08 |
| Source | https://github.com/yfedoseev/pdf_oxide |
What pdf_oxide is
Rust-based PDF toolkit with a stable C ABI, delivering 0.8ms mean extraction latency and bindings for Python, Go, JavaScript, C#, Java, Kotlin, Scala, C++, Swift, Dart, R, Julia, and others. Includes CLI, MCP server integration, and extraction profiles for adaptive layout detection.
Get the pdf_oxide source
Clone the repository and explore it locally.
git clone https://github.com/yfedoseev/pdf_oxide.gitcd pdf_oxide# follow the project's README for install & configurationNeed it deployed, integrated, or customized instead? DEV.co ships production installs.
Best use cases
Implementation considerations
- Verify language binding stability for your target stack; 11 new bindings were added in v0.3.69, so test integration with Kotlin, Dart, Zig, or newer targets in a sandbox first.
- Extraction profiles (form, academic) require tuning for your document corpus; start with defaults and adjust word_gap_threshold and line_gap_threshold based on test results.
- For Python, confirm pip install reaches your environment cleanly; the library is packaged on PyPI and ships wheels for common platforms.
- CLI and MCP server deployment requires Homebrew or manual build; integrate into CI/CD and test availability in target deployment environments.
- No warm-up reported in benchmarks; latency is mean per document (0.8ms) on 3,830 PDFs; profile end-to-end throughput with your own workload.
When to avoid it — and what to weigh
- OCR or handwriting recognition required — PDFOxide extracts only machine-readable text and structured data; scanned documents or handwritten PDFs require a separate OCR solution.
- Advanced PDF rendering or visual fidelity — The library does not render PDFs to images or preserve precise visual layout; use PyMuPDF or similar if pixel-perfect rendering is critical.
- Proprietary vendor lock-in acceptable — If your organization requires guaranteed commercial support contracts or vendor SLAs, the open-source model may not align with procurement policies.
- Extensive XFDF or incremental update workflows — Form field editing and incremental saves are supported, but complex annotation or collaborative editing workflows are not documented in the provided data.
License & commercial use
Dual-licensed under MIT and Apache-2.0. Both are permissive OSI-approved licenses allowing commercial and proprietary use, modification, and redistribution with attribution. Users may choose either license.
Both MIT and Apache-2.0 are permissive and commercially viable. No copyleft or linking restrictions apply. Attribution is required under both licenses. No warranty is provided; you assume liability for use. Verify compliance with your legal team if bundling with proprietary software, but no commercial restrictions exist in the license text.
DEV.co evaluation signals
Editorial assessment — not user reviews. Directional, with an explicit confidence level.
| Signal | Assessment |
|---|---|
| Maintenance | Active |
| Documentation | Adequate |
| License clarity | Clear |
| Deployment complexity | Low |
| DEV.co fit | Strong |
| Assessment confidence | High |
Rust provides memory safety eliminating certain classes of vulnerabilities. No security audit data provided. No CVE history available (new project). PDF parsing is a complex attack surface; untrusted or maliciously crafted PDFs could trigger performance degradation or resource exhaustion. No documented timeout or memory limits in the API; evaluate defensive parsing and input validation for your threat model. OpenSSF Scorecard badge commented out in README; consider requesting or conducting an independent security review for mission-critical use.
Alternatives to consider
PyMuPDF (fitz)
Mature, widely used, but 5–6× slower, AGPL-3.0 licensed (restrictive for commercial use), and includes rendering. Choose if you need pixel-perfect output or have AGPL-compatible workflows.
pypdfium2
4× slower than PDFOxide, Apache-2.0 licensed, C++ backend. Good alternative if you need rendering or have existing pdfium integration; trade speed for flexibility.
pdfplumber
23× slower, MIT licensed, strong for tabular data extraction. Use if your workflow prioritizes table parsing and you can tolerate latency; PDFOxide's profile-based extraction may be sufficient.
Build on pdf_oxide with DEV.co software developers
Evaluate PDFOxide for your use case: benchmark it against your current tools, test language bindings in a sandbox, and deploy with confidence on a permissive open-source license.
Talk to DEV.coRelated open-source tools
Surfaced by semantic similarity across the DEV.co open-source index.
Related on DEV.co
Explore the category and the services that help you build with it.
pdf_oxide FAQ
Can I use PDFOxide in a commercial product?
Does PDFOxide support OCR or handwritten text?
What platforms and architectures does PDFOxide support?
How stable are the new language bindings (Kotlin, Dart, Zig, etc.)?
Work with a software development agency
From first prototype to production, DEV.co delivers software development services around tools like pdf_oxide. Our software development agency staffs experienced software developers and web developers for custom software development, web development, integrations, and ongoing support across rag frameworks and beyond.
Ready to accelerate your PDF workflows?
Evaluate PDFOxide for your use case: benchmark it against your current tools, test language bindings in a sandbox, and deploy with confidence on a permissive open-source license.