Skip to main content
{
  "text": "<string>",
  "start_index": 123,
  "end_index": 123,
  "token_count": 123
}
The Recursive Chunker splits text by trying multiple delimiters in order (paragraphs, sentences, words) to create natural, coherent chunks.

Examples

Text Input

from chonkie.cloud import RecursiveChunker

chunker = RecursiveChunker(
    chunk_size=512,
    chunk_overlap=128,
    recipe="markdown"
)

text = "Your text here..."
chunks = chunker.chunk(text)

File Input

from chonkie.cloud import RecursiveChunker

chunker = RecursiveChunker(
    chunk_size=512,
    chunk_overlap=128,
    recipe="markdown"
)

# Chunk from file
with open("document.txt", "rb") as f:
    chunks = chunker.chunk(file=f)

Request

Parameters

text
string | string[]
The text to chunk. Can be a single string or an array of strings for batch processing. Either text or file is required.
file
file
File to chunk. Use multipart/form-data encoding. Either text or file is required.
tokenizer
string
default:"gpt2"
Tokenizer to use for counting tokens.
chunk_size
integer
default:"512"
Maximum number of tokens per chunk.
min_characters_per_chunk
integer
default:"0"
The minimum number of characters a chunk should have.
recipe
string
default:"default"
Recursive rules recipe to follow. See all recipes on our Hugging Face repo
lang
string
default:"en"
Language of the document to chunk

Response

Returns

Array of Chunk objects, each containing:
text
string
The chunk text content.
start_index
integer
Starting character position in the original text.
end_index
integer
Ending character position in the original text.
token_count
integer
Number of tokens in the chunk.
I