Skip to content

Xberg (formerly Kreuzberg)

Rust document extractor, formerly Kreuzberg: 107 formats, eight OCR backends, 15 language bindings, plus CLI, REST API and MCP server.

Reviewed by Sheela · Updated

View on GitHub Open source

Our rating

4.1/5

Xberg opens almost any file from almost any language you write in, and that reach comes with a large surface to secure.

What is Xberg (formerly Kreuzberg)?

Xberg is the renamed Kreuzberg. The project restarted its version numbers at v1 under the new name, the old kreuzberg-dev/kreuzberg repository now redirects to xberg-io/xberg, and a separate kreuzberg-lts repository keeps the v4 line on long-term support. Most downstream projects still declare the dependency as kreuzberg, according to the README.

It is a Rust core that reads 107 document formats across 141 file extensions (PDF, Office, email including PST, e-books, LaTeX and Typst, archives, images) and returns plain text, Markdown, Djot, HTML, a JSON tree or Docling-compatible DocTags. OCR is pluggable: the docs list eight backends, with Tesseract as the default, PaddleOCR over ONNX Runtime, a CPU engine called Sceptre, Candle ports of GLM-OCR, TrOCR, DeepSeek-OCR and PaddleOCR-VL, and hosted vision models through its own liter-llm client. ML layout and table models, Whisper transcription, tree-sitter code parsing for 371 languages, chunking, embeddings and LLM-driven structured extraction sit on top.

Bindings cover Python, Node.js, Go, Java, C#, Ruby, PHP, Elixir, Dart, Swift, Kotlin, Zig, WebAssembly and C. The repository has about 9,400 stars, an MIT licence and 98 GitHub releases; v1.3.10 shipped on 13 October 2026. The company behind it, Kreuzberg, Inc., sells a managed composition of the same libraries through an invitation-only design-partner programme.

Is Xberg (formerly Kreuzberg) worth it?

Xberg is the strongest choice when the problem is breadth: one Rust engine that opens a PST mailbox, a Korean HWP file, a nested 7z archive and a scanned PDF, callable from 15 languages. Docling and Marker are Python libraries; Xberg ships native packages for Go, Java, C#, PHP, Elixir and the rest, which matters to teams that do not run Python in production.

OCR is a choice of backend rather than a fixed model. Tesseract is the default and needs a system package plus language data; PaddleOCR runs through ONNX Runtime; the four Candle backends (GLM-OCR, TrOCR, DeepSeek-OCR, PaddleOCR-VL) are compiled into the published packages but download between about 250MB and 4GB of weights on first use, according to the OCR guide. Fallback chains let a cheap engine try first and a vision model take the pages it fails.

The performance claims are the vendor's. Its benchmark page compares Xberg with Docling, Unstructured, Tika, MarkItDown, PyMuPDF4LLM, LiteParse and MinerU across 60 documents and 821 extractions from its own open harness, and calls Xberg the fastest and most precise. The corpus is small and the maintainers chose it; treat the table as a reason to run your own documents, not as a verdict.

The security record needs reading before you expose the server. A high-severity advisory published on 6 October 2026 showed that POST /extract, which has no authentication, let a caller switch off the crawler's private-address block and read internal URLs; versions up to 1.3.3 are affected. The API docs also default CORS to every origin and accept 100MB request bodies, so the REST server belongs behind your own gateway. The rename adds churn: package names, imports and docs URLs all changed between v4 and v1.

Where it earns its place

  • A backend engineer at a Go-based e-discovery start-up

    Pull text and attachments out of PST mailboxes, Office files and scanned PDFs in one service

    Import the Go package and call extract on each upload, with Tesseract for scans and a Candle backend for the pages Tesseract scores low on confidence. No Python sidecar to operate; the cost is CPU time and a patched, firewalled server.

  • A platform team at a 300-person consultancy building internal RAG

    Ingest SharePoint exports and archived client folders without writing a converter per format

    Run the Docker image in API mode behind an authenticating proxy, point the ingestion job at it and keep the Markdown plus chunk output. The library is free; the work is pinning a version past 1.3.3 and setting CORS and body limits.

  • A developer using Claude Code or Cursor on a document-heavy codebase

    Let the agent read PDFs, spreadsheets and slide decks in the repository

    Install the CLI and register xberg mcp over stdio; the server exposes nine tools, including extract and extract_batch. Local and free, though a vision backend configured with a hosted model sends page images to that provider.

Before you commit

Setup
pip install xberg, npm install @xberg-io/xberg, cargo add xberg, brew install xberg-io/tap/xberg or docker pull ghcr.io/xberg-io/xberg; Tesseract needs a separate system package, and Candle OCR weights download on first use.
Integrations
Bindings for 15 languages, a 14-command CLI, a REST server with an OpenAPI 3.1 schema, an MCP server with nine tools over stdio or HTTP, a Helm chart, agent plugins, and a dependency of Haystack's core integrations, mostly under the Kreuzberg name.
Data and privacy
Runs locally on CPU by default; hosted embeddings, LLM extraction and VLM OCR send content to the provider you configure. MIT licence. One published high-severity advisory (unauthenticated SSRF in POST /extract, versions up to 1.3.3).
Cost at scale
The library is free and CPU-first, so the bill is worker instances plus any hosted-model tokens for VLM OCR or structured extraction. Managed Pro and Enterprise pricing is disclosed only to accepted design partners.
Limits
No built-in authentication on the API server and CORS open by default; 100MB default request limit; about 33 open issues and pull requests; heavy optional features (layout models, transcription, URL crawling) are Cargo feature flags in source builds.

What's good

  • 107 formats, including PST, HWP, Typst and nested archives
  • Native bindings for 15 languages, plus CLI, REST and MCP
  • Eight swappable OCR backends with fallback chains
  • MIT licence and 98 GitHub releases

What's not

  • Unauthenticated REST API; a high-severity SSRF fixed after 1.3.3
  • Benchmarks are the vendor's, on a 60-document corpus
  • Renamed from Kreuzberg with a new v1 version line
  • Vision OCR backends pull up to about 4GB of weights

Best for

Teams outside Python that need one embeddable parser for a wide mix of file types, with OCR they can swap.

Xberg (formerly Kreuzberg) alternatives

Xberg (formerly Kreuzberg): common questions

Is Xberg (formerly Kreuzberg) worth it?
Xberg opens almost any file from almost any language you write in, and that reach comes with a large surface to secure. We rate it 4.1 out of 5.
How much does Xberg (formerly Kreuzberg) cost?
Free under the MIT licence. Xberg Pro and Enterprise (managed or self-hosted backends) are sold through a design-partner programme; prices are disclosed only on application.
What are the downsides of Xberg (formerly Kreuzberg)?
Unauthenticated REST API; a high-severity SSRF fixed after 1.3.3; benchmarks are the vendor's, on a 60-document corpus; renamed from Kreuzberg with a new v1 version line; vision OCR backends pull up to about 4GB of weights.
Who is Xberg (formerly Kreuzberg) best for?
Teams outside Python that need one embeddable parser for a wide mix of file types, with OCR they can swap.
How much does Xberg (formerly Kreuzberg) cost for a team or in production?
The library is free and CPU-first, so the bill is worker instances plus any hosted-model tokens for VLM OCR or structured extraction. Managed Pro and Enterprise pricing is disclosed only to accepted design partners.
Is Xberg (formerly Kreuzberg) safe for company data?
Runs locally on CPU by default; hosted embeddings, LLM extraction and VLM OCR send content to the provider you configure. MIT licence. One published high-severity advisory (unauthenticated SSRF in POST /extract, versions up to 1.3.3).
What are the best Xberg (formerly Kreuzberg) alternatives?
The closest alternatives we have reviewed are Docling, Unstructured, MarkItDown and Marker.

Answers checked Oct 26, 2026.

Make Xberg (formerly Kreuzberg)? Show this rating on your siteXberg (formerly Kreuzberg) rated 4.1 out of 5 on ReviewRamble