Overview
Xberg v1 has been released as the successor to Kreuzberg, representing a significant evolution in content intelligence processing. The framework handles a wide range of input types including documents (101 formats), code and data (367 types), audio/video transcription, and URLs with static or JavaScript-rendered content.
Performance and Architecture
Xberg is engineered as a high-performance engine with substantial improvements over its predecessor. For PDF and image processing, it handles native PDFs with high performance and accuracy, and includes multiple OCR engines that match the quality of leading Python libraries such as docling, PaddleOCR, and RapidOCR, while offering better performance and stability.
Key Technical Changes
The transition from Kreuzberg v4 to Xberg v1 introduces several major architectural changes:
-
Pure-Rust PDF backend (
pdf_oxide) replaces pdfium, eliminating native pdfium dependencies - Layout-aware pipeline with ONNX layout detection using PP-DocLayoutV3/RT-DETR and Docling-style predecessor-graph reordering
- Per-page scanned-page detection with selective OCR, plus AcroForm/XFA form field support and outline-based headings
- Optimized OCR and PDF extraction with improved memory discipline, pooled model sessions, and streamed conversions
- Native PaddleOCR backend supporting PP-OCRv6 with medium/small/tiny tiers alongside Tesseract
Inference and Model Support
The framework includes multiple inference paths:
- Pure-Rust Candle OCR/VLM stack supporting TrOCR, GLM-OCR, GOT-OCR, DeepSeek-OCR, and PaddleOCR-VL without ONNX Runtime or native Tesseract dependencies
- Secondary inference path via tract enabling ONNX-free execution for in-browser (WASM) and mobile inference
- Named-entity recognition natively in Rust (GLiNER2) extensible to all bindings, including in-browser WASM models with no server round-trip
Structured Extraction and Retrieval
Xberg provides comprehensive content processing capabilities:
-
Structured LLM extraction (
extract_structured/split_and_extract) with rasterization, chunking, citations, caching, and configurable policies - Audio and video transcription via Whisper ONNX engine supporting .mp3, .wav, .m4a, .mp4, and .webm formats
- Retrieval building blocks including sparse embeddings (SPLADE), ColBERT late-interaction retrieval, cross-encoder reranking, and dense embeddings
- Text intelligence features including reversible redaction, summarization, translation, VLM image captioning, QR-code detection, document diffing, and page/chunk classification
Web and Format Support
-
URL and web ingestion with sitemap discovery (
map_url) and batched multi-URL crawling - New document formats including WordPerfect (.wpd/.wp/.wp5), HEIC/HEIF/AVIF, OpenDocument Presentation (.odp), Quarto/R Markdown, and configurable Jupyter cell rendering
- Expanded code intelligence with tree-sitter coverage growing from 248 to 367+ languages
Cross-Platform and Bindings
Four new language bindings (Dart/Flutter, Swift, Kotlin/Android, and Zig) bring the total to 15 language bindings over one engine. The framework now includes full mobile support for Flutter, Android, and iOS, with cross-compilation capabilities.
Benchmark Results
Performance benchmarks for PDF and image processing demonstrate Xberg's capabilities:
Composite Quality (Markdown Pipeline, higher is better):
- Xberg (layout): 0.958 (Native PDF), 0.836 (Scanned PDF)
- docling: 0.779 (Native PDF), 0.762 (Scanned PDF)
- mineru: 0.408 (Native PDF), 0.792 (Scanned PDF)
Structure and Layout Fidelity (SF1: tables and reading order, higher is better):
- Xberg: 0.949 (Native PDF), 0.531 (Scanned PDF)
- docling: 0.612 (Native PDF), 0.366 (Scanned PDF)
For native PDFs, Xberg leads on quality (0.958 vs 0.837 for the next-best framework) and table/reading-order fidelity (SF1 0.949 vs 0.612 for docling). On scanned PDFs, it ranks first on both quality and raw text fidelity.
Migration and Support
A migration guide is available for transitioning from Kreuzberg to Xberg. Kreuzberg remains in LTS mode until the end of the year with continued bug fixes and security updates. The full changelog documents all changes, with over 150 bugs fixed during the 1.0 cycle plus security hardening including bounded RTF/PDF allocations, redaction leak fixes, and Excel DDE warnings.
Top comments (0)