43 names in the registry

Same string in the dropdown and in pip

list-strategies --tier lab|python_only|all is the source of truth. Public copy says 40+ because a few names are aliases. The lab runs 22. Everything else is honest grey or pip-only.

chunking-strategy list-strategies --tier lab
chunking-strategy list-strategies --tier python_only
chunking-strategy list-strategies --tier all

Live in the lab lab

NameWhat the cut actually is
fixed_sizeCharacter windows. Naive baseline. Headings get sliced.
sentence_basedSentence groups. Default splitter simple_v1 since 0.5.0. Optional cl100k packing via max_tokens.
paragraph_basedBlank-line / paragraph groups.
overlapping_windowSliding window. Amber band is the overlap.
recursive_characterMarket “recursive”: paragraphs, then lines, then spaces. Not a tree.
recursiveHierarchical parent/child (paragraph then sentence). The list is a tree.
token_basedReal cl100k_base windows. Tokenizer loads once. Never chars/4.
fixed_length_wordWord-count windows.
regex_customMatch starts the next chunk (turns, logs).
markdown_chunkerATX headers. Breadcrumb + optional contextualize prefix.
python_codeModule-level def/class. Tab: tree-sitter. pip: stdlib ast.
javascript_code css_code go_code java_code c_cpp_codeLanguage-aware code splits.
json_chunkerJSON value / array structure, not a raw window.
csv_chunkerRow groups; optional header copied onto each chunk.
xml_html_chunkerElement-aware markup.
rolling_hash fastcdcContent-defined boundaries.
semanticGrey until MiniLM loads in the tab. pip needs [ml]. Cuts will not match.

Grey in the tab lab_later

Shown so you know the name exists. Locked until a JS port with a golden exists.

universal_code, rabin_fingerprinting, buzhash, gear_cdc, tttd, ml_cdc, enhanced_pdf_chunker, doc_chunker, boundary_aware, context_enriched, embedding_based, discourse_aware, grid_based_image, patch_based_image, time_based_audio, silence_based_audio, time_based_video.

Pip-only python_only

pdf_chunker (layout, images, tables), universal_document (Tika), adaptive, scene_based_video. The lab extracts PDF/Word to text, then runs a text strategy. It will not grow a fake pdf_chunker.

In this library recursive is a parent/child tree (paragraph then sentence). recursive_character is the separator cascade (paragraphs, then lines, then spaces). They are different strategies. LangChain’s cascade is the second name here.

Tiers live in schemas/strategy-tiers.yaml.