# Kreuzberg

> High-performance document intelligence library with a Rust core and bindings for 12 languages. Extract text, metadata, and structured data from 90+ file formats including PDF, DOCX, PPTX, XLSX, HTML, images (with OCR), email, archives, and more.

Kreuzberg provides async/sync APIs, text chunking, language detection, keyword extraction, and an extensible plugin system. It is 10-50x faster than pure-Python alternatives thanks to its Rust core.

## Getting Started

- [Installation](https://docs.kreuzberg.dev/getting-started/installation/): Install Kreuzberg for Python, TypeScript, Ruby, Rust, Go, Java, C#, PHP, Elixir, or WebAssembly
- [Quick Start](https://docs.kreuzberg.dev/getting-started/quickstart/): Get started with document extraction in minutes

## Concepts

- [Architecture](https://docs.kreuzberg.dev/concepts/architecture/): Rust core with polyglot bindings architecture
- [Extraction Pipeline](https://docs.kreuzberg.dev/concepts/extraction-pipeline/): How document extraction works
- [Plugin System](https://docs.kreuzberg.dev/concepts/plugin-system/): Extend Kreuzberg with custom extractors and backends
- [MIME Detection](https://docs.kreuzberg.dev/guides/extraction/#mime-type-detection): Automatic file format detection
- [Performance](https://docs.kreuzberg.dev/guides/development/#performance): Performance characteristics and optimization

## Guides

- [Extraction Basics](https://docs.kreuzberg.dev/guides/extraction/): Core extraction functionality
- [Configuration](https://docs.kreuzberg.dev/guides/configuration/): Configuration options
- [OCR](https://docs.kreuzberg.dev/guides/ocr/): Optical character recognition setup with Tesseract, EasyOCR, or PaddleOCR
- [Element-Based Output](https://docs.kreuzberg.dev/guides/output-formats/#element-based-output): Structured element extraction
- [Document Structure](https://docs.kreuzberg.dev/guides/output-formats/#document-structure): Hierarchical tree-based document output
- [PDF Hierarchy](https://docs.kreuzberg.dev/guides/output-formats/#pdf-hierarchy-detection): PDF hierarchy detection using K-means clustering
- [Keyword Extraction](https://docs.kreuzberg.dev/guides/keywords/): YAKE and RAKE keyword extraction
- [Advanced Features](https://docs.kreuzberg.dev/guides/advanced/): Advanced usage patterns
- [Docker Deployment](https://docs.kreuzberg.dev/guides/docker/): Docker container deployment
- [Kubernetes Deployment](https://docs.kreuzberg.dev/guides/kubernetes/): Kubernetes deployment guide
- [API Server](https://docs.kreuzberg.dev/guides/api-server/): REST API server setup
- [Creating Plugins](https://docs.kreuzberg.dev/guides/plugins/): Build custom extractor plugins
- [AI Coding Assistants](https://docs.kreuzberg.dev/guides/agent-skills/): Agent skills for AI coding assistants
- [C# Bindings](https://docs.kreuzberg.dev/guides/csharp/): C# binding usage guide

## CLI

- [CLI Usage](https://docs.kreuzberg.dev/cli/usage/): Command-line interface reference

## API Reference

- [Python API](https://docs.kreuzberg.dev/reference/api-python/): Python binding reference
- [TypeScript API](https://docs.kreuzberg.dev/reference/api-typescript/): TypeScript/Node.js binding reference
- [WebAssembly API](https://docs.kreuzberg.dev/reference/api-wasm/): WebAssembly binding reference
- [PHP API](https://docs.kreuzberg.dev/reference/api-php/): PHP binding reference
- [C# API](https://docs.kreuzberg.dev/reference/api-csharp/): C# binding reference
- [Go API](https://docs.kreuzberg.dev/reference/api-go/): Go binding reference
- [Java API](https://docs.kreuzberg.dev/reference/api-java/): Java binding reference
- [Rust API](https://docs.kreuzberg.dev/reference/api-rust/): Rust core library reference
- [Ruby API](https://docs.kreuzberg.dev/reference/api-ruby/): Ruby binding reference
- [R API](https://docs.kreuzberg.dev/reference/api-r/): R binding reference
- [Elixir API](https://docs.kreuzberg.dev/reference/api-elixir/): Elixir binding reference
- [C API](https://docs.kreuzberg.dev/reference/api-c/): C FFI binding reference
- [Configuration Reference](https://docs.kreuzberg.dev/reference/configuration/): Full configuration options
- [Environment Variables](https://docs.kreuzberg.dev/reference/environment-variables/): KREUZBERG_* environment variable reference
- [File Size Limits](https://docs.kreuzberg.dev/reference/file-size-limits/): Upload and processing size limits
- [Format Support](https://docs.kreuzberg.dev/reference/formats/): Supported file formats (90+)
- [Types](https://docs.kreuzberg.dev/reference/types/): Type definitions
- [Errors](https://docs.kreuzberg.dev/reference/errors/): Error types and handling

## Migration

- [From Unstructured](https://docs.kreuzberg.dev/migration/from-unstructured/): Migrate from the Unstructured library

## Optional

- [Features Overview](https://docs.kreuzberg.dev/features/): Complete feature list
- [Changelog](https://docs.kreuzberg.dev/CHANGELOG/): Release history
- [Contributing](https://docs.kreuzberg.dev/contributing/): Contribution guidelines
- [Comparisons](https://docs.kreuzberg.dev/comparisons/kreuzberg-vs-unstructured/): Kreuzberg vs alternatives
