DEV.co
RAG Frameworks · yfedoseev

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.

Source: GitHub — github.com/yfedoseev/pdf_oxide
883
GitHub stars
103
Forks
Rust
Primary language
Apache-2.0
License (OSI-approved)

Key facts

Objective fields from the source. Values we can't verify are shown as “Unknown” rather than guessed.

FieldValue
Repositoryyfedoseev/pdf_oxide
Owneryfedoseev
Primary languageRust
LicenseApache-2.0 — OSI-approved
Stars883
Forks103
Open issues74
Latest releasev0.3.73 (2026-07-06)
Last updated2026-07-08
Sourcehttps://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.

Quickstart

Get the pdf_oxide source

Clone the repository and explore it locally.

terminalbash
git clone https://github.com/yfedoseev/pdf_oxide.gitcd pdf_oxide# follow the project's README for install & configuration

Need it deployed, integrated, or customized instead? DEV.co ships production installs.

Best use cases

High-throughput document processing pipelines

Teams ingesting large volumes of PDFs for RAG, LLM fine-tuning, or data extraction benefit from 5–15× speed gains and 100% reliability across diverse PDF formats.

Multi-language backend applications

Services needing PDF parsing across Python, Rust, Go, Node.js, C#, or Java can standardize on a single, fast implementation without language-specific trade-offs.

AI and document intelligence workflows

The MCP server and CLI enable seamless PDF processing in Claude, Cursor, and custom AI agents; extraction profiles and markdown conversion prepare documents for LLM consumption.

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.

SignalAssessment
MaintenanceActive
DocumentationAdequate
License clarityClear
Deployment complexityLow
DEV.co fitStrong
Assessment confidenceHigh
Security considerations

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.

Software development agency

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.co

Related open-source tools

Surfaced by semantic similarity across the DEV.co open-source index.

pdf_oxide FAQ

Can I use PDFOxide in a commercial product?
Yes. Both MIT and Apache-2.0 allow commercial use. You must provide attribution (as required by both licenses) and comply with any linking or distribution terms. Consult your legal team if bundling with proprietary code.
Does PDFOxide support OCR or handwritten text?
No. It extracts only machine-readable text embedded in PDFs. For scanned or handwritten documents, integrate a separate OCR library (e.g., Tesseract, EasyOCR).
What platforms and architectures does PDFOxide support?
Rust core supports any Rust-compatible platform. Python wheels are available on PyPI for common OS/arch combinations (Linux, macOS, Windows). Pre-built binaries for CLI available via Homebrew. Verify wheel availability for your target platform before deployment.
How stable are the new language bindings (Kotlin, Dart, Zig, etc.)?
Bindings were added in v0.3.69 and use a stable C ABI with CI coverage and runnable examples. However, the project is young (created 2025-11-05); treat newer bindings as production-ready but test thoroughly in your environment before relying on them at scale.

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.