xberg is a free, open source ai development platforms project written in Rust and released under MIT. It has 9,321 GitHub stars, 585 forks and 9 open issues, and was last pushed 7 hours ago. On this registry it ranks #61 of 116 tracked projects in AI Development Platforms, with 5 head-to-head comparisons available.

What is xberg?

Xberg is a Rust-core document-intelligence engine that extracts text, metadata, images, tables, and structured data from documents, images, audio, archives, URLs, and source trees, and it is built for developers and data teams who want one extraction core instead of a pipeline stitched together from many libraries.

What it is

Xberg is an open-source, MIT-licensed polyglot document-intelligence engine written in Rust, listed in the AI & Machine Learning / AI Development Platforms category. Its README describes it as the next iteration of Kreuzberg: the same document-intelligence engine, rebuilt and rebranded under a fresh v1 line. It ships fifteen language bindings and can be called from Rust, Python, Node.js, Go, Java, C#, Ruby, PHP, Elixir, Dart, Swift, Zig, WASM, Kotlin, or C FFI, and it runs as a library, a CLI tool, a REST API, or an MCP server. Project documentation lives at https://docs.xberg.io.

The concrete problem it solves is pipeline assembly. Format detection, reading, OCR, and extraction normally come from separate format-specific tools that a team has to wire together and maintain. Xberg handles all of it in one core: 107 document formats across 141 file extensions, 371 code languages, six output formats, plus OCR, transcription, and embeddings. Point it at a PDF, a scanned image, a spreadsheet, an audio file, a URL, an archive, or a source tree, and it returns clean text, tables, metadata, and structured data in one step.

Key capabilities

  • Extraction across 107 document formats and 141 file extensions — PDFs, Office files, images, HTML, email, e-books, scientific publications, and structured data — with intelligent MIME detection and bounded extraction controls.
  • OCR through Tesseract, PaddleOCR, Candle, or VLM backends, with fallback chains, confidence scores, language auto-detection, and plugin extensibility.
  • Layout and table reconstruction using ML layout models (PP-DocLayout-V3, RT-DETR) and table structure models (TATR, SLANet) to rebuild reading order and cell grids for clean Markdown.
  • Code intelligence for 371 programming languages, extracting functions, classes, imports, symbols, and docstrings, with syntax-aware chunking for RAG pipelines.
  • Speech-to-text from MP3, M4A, WAV, WebM, and MP4 tracks via Whisper ONNX, spanning tiny through large-v3 models, gated behind the transcription feature.
  • URL ingestion that fetches a single document or crawls and follows links in Auto, Document, or Crawl modes through the crawlberg engine, gated behind the url-ingestion feature.
  • Schema-driven JSON extraction from any document via local Ollama, LM Studio, or vLLM, or hosted LLMs, alongside local ONNX embeddings or 165 provider-hosted options via liter-llm and cross-encoder reranking.

Who uses it and how

  • RAG and retrieval teams use the syntax-aware chunking, local ONNX or provider-hosted embeddings, sparse and late-interaction retrieval, and cross-encoder reranking to build indexing pipelines without a separate chunker.
  • Polyglot engineering organisations call the same Rust core from any of the fifteen bindings, avoiding per-language reimplementations of extraction logic.
  • Platform teams self-host it through Docker or Helm, running a library, the 14-command CLI, an xberg serve REST API, or an MCP server, on CPU by default with no GPU required.
  • Batch and archive workloads rely on content-hash caching, parallel batch execution, and per-file timeouts to process large document sets predictably.

Getting started

Install the packaged binding with pip install xberg for Python or npm install @xberg-io/xberg for Node.js and TypeScript, or deploy the Docker image or Helm chart. The engine can also be run as a CLI tool or as a REST API through xberg serve.

How it compares

Xberg does not compete with the extraction engines it wraps; it orchestrates them, drawing on Tesseract, PaddleOCR, Candle, Whisper ONNX, crawlberg, and liter-llm behind a single interface. It shares output ground with Docling by rendering DocTags among its six output formats, and it succeeds the Kreuzberg project as the same engine under a fresh v1 line.

When to use it — and when not to

Capabilities such as URL ingestion, transcription, reranking, and layout models sit behind Cargo feature flags, so a from-source build enables only what is selected, while prebuilt language packages and the Docker image bundle the common set. Teams that cannot run local ML models or want a hosted SaaS product with no operational surface should look elsewhere, since Xberg expects a self-managed runtime. The README excerpt also documents Python and Node.js installation in detail only, leaving other bindings to their per-package READMEs, so adopters of less common languages should check those before committing.

project readme (upstream, from github) — read inline

Xberg

Xberg

Rust CI Coverage Built with alef Rust Python Node.js WASM Java Go C# PHP Ruby Elixir Dart Kotlin Swift Zig C FFI Docker Helm chart License Documentation Hugging Face Join Discord Live Demo GitHub Stars

The fast, precise document-intelligence engine — for every language.

Point Xberg at anything — a PDF, a scanned image, a spreadsheet, an audio file, a URL, a whole archive, or a source tree — and get back clean text, tables, metadata, and structured data. One engine handles format detection, reading, OCR, and extraction, so you never stitch a pipeline together from a dozen libraries.

107 formats · 141 file extensions · 371 code languages · 15 language bindings · 6 output formats · OCR · transcription · embeddings

The fastest, most precise open-source document and PDF-to-Markdown engine — see the benchmarks.

Install · What you get · Capabilities · CLI · Docs

Xberg is the next iteration of Kreuzberg. Same document-intelligence engine, rebuilt and rebranded under a fresh v1 line.


What you get

Point Xberg at anything — a PDF, a spreadsheet, a scanned image, an audio file, a URL, an archive, a source tree — and get back clean, structured content you can use right away. One core does the format detection, reading, and extraction, so you don't assemble a pipeline yourself. Call it from Rust, Python, Node.js, Go, Java, C#, Ruby, PHP, Elixir, Dart, Swift, Zig, WASM, Kotlin, or C FFI, and run it as a library, CLI tool, REST API, or MCP server.

Capability What you get
107 document formats PDFs, Office, images, HTML, email, e-books, scientific publications, and structured data across 141 file extensions, with intelligent MIME detection and bounded extraction controls.
URLs & the web Point Xberg at an http(s) URL — it fetches and extracts a single document, or crawls and follows links (Auto / Document / Crawl modes via the crawlberg engine). Requires the url-ingestion feature.
Audio & video transcription Speech-to-text from MP3, M4A, WAV, WebM, and MP4 tracks via Whisper ONNX (tiny → large-v3). Requires the transcription feature.
Archives, traversed List and recursively extract nested .zip, .tar, .gz, .7z — documents inside documents — guarded by zip-bomb, compression-ratio, and nesting-depth limits.
OCR on demand Tesseract, PaddleOCR, Candle, or VLM backends — fallback chains, confidence scores, language auto-detection, extensible via plugins.
Layout & tables ML layout models (PP-DocLayout-V3, RT-DETR) and table structure (TATR, SLANet) reconstruct reading order and cell grids for clean Markdown.
Code intelligence Functions, classes, imports, symbols, docstrings from 371 programming languages. Syntax-aware chunking for RAG pipelines.
Embeddings & search Local (ONNX) or provider-hosted embeddings (165 providers via liter-llm), sparse and late-interaction, cross-encoder reranking.
Enrichment NER, keyword extraction (YAKE/RAKE), summarization, translation, redaction, page classification, QR detection, language detection, token reduction (TOON).
Structured extraction Schema-driven JSON straight from any document via local (Ollama, LM Studio, vLLM) or hosted LLMs — no prompt engineering.
6 output formats Plain text, Markdown, Djot, HTML, JSON tree, or Docling DocTags, plus registered custom renderers.
Runs anywhere Library, CLI (14 commands), REST API (xberg serve), MCP server, Docker, Helm — CPU by default, no GPU required. Content-hash caching, parallel batch, per-file timeouts.

Capabilities marked requires a feature are Cargo feature flags on the core crate (url-ingestion, transcription, reranker, layout/ORT). Prebuilt language packages and the Docker image bundle the common set; a from-source build enables only what you select.


Installation

Language Packages

<det

readme truncated — read the full docs on github

Frequently asked questions

Is xberg free to use?

xberg is open source under the MIT licence. There is no licence fee and no seat count — you can self-host it or, where the project offers one, pay a vendor for a managed version instead.

What does xberg do?

Polyglot document intelligence with a Rust core: extract text, metadata, images, tables, and structured data from 106 formats across 140 file extensions, plus c

What is xberg written in?

xberg is primarily written in Rust. Its source is publicly available at https://github.com/xberg-io/xberg, and it has 9,321 GitHub stars.