About this project
Xberg is a polyglot document-intelligence engine built around a Rust core. Point it at a PDF, scanned image, spreadsheet, audio file, URL, archive, or source tree and it returns clean text, tables, metadata, and structured data. Format detection, reading, OCR, and extraction are handled by one engine rather than assembled from separate libraries.
Coverage and capabilities
- Formats: the README claims 107 formats across 141 file extensions and 56 MIME aliases, spanning Office documents (Word, Excel, PowerPoint, OpenDocument, Apple iWork, Hangul HWP/HWPX), PDF, e-books (EPUB, FB2), databases (DBF, SQLite, GeoPackage), raster and advanced images (PNG, JPEG, TIFF, JPEG2000, JBIG2, HEIC/AVIF, SVG), audio and video tracks (MP3, M4A, WAV, WebM, MP4/MPEG audio tracks), web and structured data (HTML, XML, JSON, YAML, TOML, CSV), text and Markdown variants (AsciiDoc, CommonMark, MyST, Quarto, Djot, MDX, DocTags, reStructuredText, Org), email (EML, MSG, PST), archives (ZIP, TAR, GZ, 7z), and academic formats (BibTeX, RIS, EndNote, LaTeX, Typst, JATS, Jupyter notebooks, DocBook, OPML).
- Code intelligence: structure, imports, symbols, and docstrings from 371 programming languages via tree-sitter, with syntax-aware chunking intended for RAG pipelines.
- OCR: Tesseract, PaddleOCR, Candle, or VLM backends, with fallback chains, confidence scores, and language auto-detection.
- Layout and tables: ML layout models (PP-DocLayout-V3, RT-DETR) and table-structure models (TATR, SLANet) reconstruct reading order and cell grids.
- Enrichment: NER, keyword extraction (YAKE/RAKE), summarization, translation, PII redaction, page classification, QR detection, language detection, and a TOON token-reduction format.
- Embeddings and search: local ONNX embeddings or provider-hosted embeddings, sparse and late-interaction retrieval, and cross-encoder reranking.
- Structured extraction: schema-driven JSON from documents using local engines (Ollama, LM Studio, vLLM) or hosted LLM providers.
- Output: plain text, Markdown, Djot, HTML, JSON tree, or Docling DocTags, plus custom renderers.
Interfaces and deployment
Fifteen bindings are listed: Rust, Python, Node.js, WebAssembly, Java, Go, C#, PHP, Ruby, Elixir, Dart, Kotlin (Android), Swift, Zig, and C FFI. Deployment options include a library API, a CLI with 14 commands (extract, batch, detect, formats, version, cache, tree-sitter, doctor, serve, mcp, api, embed, chunk, completions), a REST API server via `xberg serve`, an MCP server with 9 tools, 3 prompts, and 4 resources for Claude Desktop, Cursor, and similar clients, plus Docker and Helm packaging. The README notes CPU-only operation by default, content-hash caching, parallel batch processing, and per-file timeouts.
Notes
Some capabilities are gated behind Cargo feature flags (url-ingestion, transcription, reranker, layout/ORT); prebuilt packages and the Docker image bundle a common set. The project describes itself as the successor to Kreuzberg and is MIT licensed. Performance and benchmark claims in the README are the project's own and are not independently verified here.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.