Our take
Activeregular commits and releases- Activity
- 89
- Community
- 47
- Issues
- 86
- Pull requests
- 71
+61 stars in the last 17 days
- Releases more often than 93% of the projects we track
Xberg is an actively maintained, unusually broad extraction toolkit, but its development is highly concentrated around one contributor despite a wider contributor base.
Good fit if
- You need one extraction engine across many file types and want to integrate it through a language binding, CLI, REST API, or MCP.
- Your workflow benefits from combining document extraction with OCR, code parsing, or optional transcription.
- You can work with its MIT-licensed Rust core and configure optional capabilities as needed.
Look elsewhere if
- Your needs are limited to one or two formats and a smaller, format-specific tool would be simpler.
- You require a project whose development contributions are broadly distributed rather than concentrated around one person.
- You need a feature or integration not described in the repository and cannot validate it before adoption.
All health signals
| Last commit | 2026-10-14 (today) |
|---|---|
| Commits, last 90 days | 100+ |
| Releases, last 12 months | 98 (latest v1.3.10, 2026-10-13) |
| Contributors | 65 (top contributor: 91% of commits) |
| Issues closed, last 90 days | 64+ (typically closed in 1 day) |
| Pull requests merged, last 90 days | 35 (typically merged in 0 days) |
| Project age | 21 months |
Checked on 2026-10-15 with the GitHub API.
Overview
Xberg is a polyglot document-intelligence engine built on a Rust core. It aims to replace format-specific extraction pipelines with one tool for reading documents and returning text, tables, metadata, or structured output. The project also uses tree-sitter-language-pack for code intelligence and Whisper ONNX for optional audio transcription.
It supports bindings for 15 languages, including Python, Node.js, Rust, Go, and Java, and can run as a library, CLI, REST API, or MCP server. Its breadth makes it relevant to document-processing applications and RAG pipelines that need to handle varied files across multiple development environments.
Key Features
- Extracts text, tables, images, metadata, and structured content from a broad range of document formats.
- Provides OCR through Tesseract, PaddleOCR, Candle, and VLM backends, with optional fallback chains.
- Offers optional audio and video-track transcription using Whisper ONNX.
- Parses code structure, symbols, imports, and docstrings across 371 languages using tree-sitter-language-pack.
- Exposes extraction through language bindings, a 14-command CLI, a REST API, and an MCP server.
- Supports outputs including plain text, Markdown, Djot, HTML, JSON trees, and DocTags.
- Includes optional enrichment for tasks such as embeddings, reranking, redaction, summarization, and schema-driven extraction.
Use Cases
- RAG developers can extract and chunk content from mixed document collections without building a separate parser pipeline for every format.
- Application teams can add document extraction to Rust, Python, Node.js, or another supported language through the corresponding binding.
- Teams can expose document extraction to MCP-capable assistants through the MCP server.
- Code-search and analysis tools can use syntax-aware structure and chunking across supported programming languages.
- Document-processing teams can apply OCR or transcription when scanned pages or audio tracks are part of their input, enabling the relevant features and dependencies.
What you need
Detected in the repository
- Node.js (from package.json)
- Python (from pyproject.toml)
- Rust 1.92 or newer (from Cargo.toml)
- PHP (from composer.json)
- A Helm chart for Kubernetes
- A test suite and automated checks on GitHub Actions
License in plain words
MITpermissive
- Commercial use: yes
- Modify and redistribute: yes
- You must keep: the copyright and license notice
- Share your changes: no
A summary, not legal advice: the LICENSE file is what applies.
Getting Started
For Python, install the package with:
pip install xberg
See the README and documentation for other bindings, configuration, and deployment options.
Alternatives
- docling: Docling focuses on document conversion and structured exports, while xberg also provides bindings for 15 languages and CLI, REST, and MCP interfaces.
- unstructured: Unstructured is a Python library for parsing and preprocessing documents; xberg has a Rust core, polyglot bindings, and service interfaces.
- OmniParse: OmniParse handles audio, video, and web pages alongside documents, but is a self-hosted Python service with Linux and GPU requirements.
- text-extract-api: text-extract-api is a self-hosted API centered on OCR, Markdown or JSON output, and PII removal, rather than xberg's multi-language library and interfaces.
| Project | Language | License | Stars | Status |
|---|---|---|---|---|
| xberg | Rust | MIT | 9.4k | Active |
| docling | Python | MIT | 68.3k | Active |
| unstructured | HTML | Apache-2.0 | 15.5k | Active |
| OmniParse | Python | GPL-3.0 | 7.9k | Quiet |
| text-extract-api | Python | MIT | 3.2k | Quiet |
Considerations
- The project is young, although its recent commit and release activity is regular and issue and pull-request handling is fast. Its measured contributor activity is concentrated heavily around one person, a continuity risk for teams depending on long-term maintenance.
- The Rust core requires Rust 1.92 when building from source. Capabilities such as URL ingestion, transcription, and layout models depend on optional feature flags; check the build configuration and dependencies for the features you plan to use.
- OCR and model-backed enrichment involve choosing and configuring a backend. The README says the core runs on CPU by default and does not require a GPU, but specific model-backed features may bring their own runtime and resource needs.
- Its wide format and feature scope can mean more configuration and operational complexity than a focused extractor. Verify extraction quality and supported behavior with representative files before adopting it.
- The project is MIT-licensed. Review the license and the terms of any external models or services you choose to use alongside it.
Found this useful?
Share it with someone who would like xberg.