Python text infrastructure

Semantic chunking, built for speed.

blazechunk turns messy text and documents into retrieval-ready chunks without sacrificing structure, provenance, or throughput.

9 chunkersSync + async APIsPython native

The pipeline

From source file to retrieval-ready data.

report.pdf

Unstructured source

DocumentChunker

Structure + provenance preserved

Ready for your index

Text, metadata, and offsets

Fast by default9 chunkers · sync + async

blazechunk splits text at semantic boundaries and does it stupid fast. It ships nine chunkers: six structural chunkers ( Chunker, RecursiveChunker, SentenceChunker, TokenChunker, TableChunker, CodeChunker), and three embedding-based chunkers ( SemanticChunker, SDPMChunker, LateChunker) — all with matching synchronous and asynchronous methods.

Why blazechunk

Blazing fast

SIMD memchr/lookup-table/Aho-Corasick delimiter search; up to 1 TB/s on the raw primitive.

Correct by construction

Text chunk offsets are real byte offsets into your input; document chunks use offsets into converted Markdown. Multi-byte / CJK text is never split mid-character.

Sync and async everywhere

Every chunker has chunk/chunk_async and chunk_batch/chunk_batch_async, safe to use inside FastAPI/asyncio without blocking the event loop.

Pick a chunker

ChunkerBest forUnitDefault
Chunkermax-throughput byte splittingbytes4096
DocumentChunkerPDF, Word, slides, spreadsheets, and morefile2048
RecursiveChunkerlong, well-structured docscharacters2048
SentenceChunkerretrieval where sentence integrity matterscharacters2048
TokenChunkerfixed-size windows for token-limited modelstokens2048
TableChunkerlarge Markdown/HTML tablesrows3
CodeChunkersource code, structure-awarecharacters2048
SemanticChunkersemantic boundaries via embeddingscharacters2048
SDPMChunkersemantic + bridging gaps (skip-window merge)characters2048
LateChunkerlate-interaction embeddings per chunkcharacters2048

Framework integrations

Use blazechunk directly in your favorite frameworks with official integrations:

Availability: Python (sync+async)