- Home
- Resources
- Integrations
- Character Text Splitter
n8n Character Text Splitter nodeConfigure Character Text Splitter in n8n.
Long documents break retrieval before they break anything else. The n8n Character Text Splitter node cuts raw text into chunks on a character boundary, with 3 parameters to tune: Separator, Chunk Size and Chunk Overlap. It is a sub-node, meaning a helper you plug into a bigger node rather than run on its own.
Verified Trustpilot reviews · AI, automation & growth agency
What does the n8n Character Text Splitter node actually do?
It takes the text a document loader hands it and cuts it into smaller pieces, using a character sequence as the cut point and a character count as the size limit. Every piece keeps a slice of the previous one so a sentence split across two chunks still makes sense. The node never runs by itself: it sits on the Text Splitter port of a root node, which is the node that receives the workflow items and orchestrates its helpers.
The first scenario is a knowledge base fed from files. A loader reads a contract or a policy document, this node cuts it with Chunk Size, and the pieces go on to be stored and searched later. Chunks that are too large drown the answer in noise, chunks that are too small lose the thread of the paragraph, so the number you enter here is the setting you come back to.
The second one is summarization of something long. A summarization chain cannot read a hundred pages in one pass, so it reads the chunks this node produces and folds them together. Here Separator earns its keep: split on a blank line and each chunk starts at a paragraph boundary rather than mid word.
The third is a chatbot that answers from your own documents. Once the text is chunked and stored, an AI Agent can look up the right passage before it answers, with a chat model from OpenAI or another provider doing the writing. The quality of that answer is decided at chunking time, long before the model sees anything.
When would you skip this node? When your text already arrives pre-cut, one clean record per item, from a source like Google Sheets. Splitting an already short field only adds an overlap you did not need. And when structure matters more than length, a splitter that respects code or markdown boundaries fits better than a plain character cut.
The limits are worth knowing up front. This node counts characters, not tokens, so the chunk size you pick is an approximation of what the model will actually consume. It has no input of its own and no credential, so nothing here talks to an API. And it exposes 3 parameters, no more: anything beyond that is handled by the root node it feeds. If you want the wider picture of where n8n fits, the n8n review covers it, and the n8n training goes through building these workflows end to end.
Where does this sub-node plug in?
n8n splits AI work between root nodes, which receive the workflow items, and sub-nodes, which hang off their ports and do one job each. This node is a sub-node, so it only has an output side.
Output (what it plugs into)
- Text Splitter
ai_textSplitter
01Text Splitter
The node attaches to the Text Splitter port of a root node and hands it the chunks it produced. Drag the connector from the port, pick Character Text Splitter, and the root node stops treating the document as one block.
Key parameters
- Optional: a root node runs without a splitter attached, and starts using one as soon as you connect it to this port.
- Default Data Loader: the loader that reads your document data, and the usual place to attach this splitter before the text is stored.
- Summarization Chain: the root node that summarizes long text, which needs the document cut into readable passes first.
How do you set the 3 parameters?
The Character Text Splitter node has 3 parameters. For each one: the node as you configure it in n8n, what the parameter changes, and our field notes.
Parameters index
Separator
separatorWhat you see in n8n
Notes & use cases
This is the character sequence the node looks for when it decides where to cut. It splits the document into separate items at that boundary, so the cut lands somewhere meaningful instead of in the middle of a word.
Key parameters
- Separator: a text value you type in, such as a line break for prose or a comma for a flat list of entries. Pull it from the incoming item with
{{ $json.separator }}when different document types need different boundaries.
Chunk Size
chunkSizeWhat you see in n8n
Notes & use cases
Chunk Size caps how much text a single chunk can hold. It is the maximum number of characters per chunk, and it decides how much context travels together when the piece is stored or read back.
Key parameters
- Chunk Size: a number of characters, typed in or driven by an expression such as
{{ $json.chunkSize }}when short notes and long reports run through the same workflow.
Chunk Overlap
chunkOverlapWhat you see in n8n
Notes & use cases
Overlap is the tail of one chunk repeated at the head of the next. It is the number of characters shared between consecutive chunks, and it exists so a sentence cut in half still reads as a sentence on both sides.
Key parameters
- Chunk Overlap: a character count, kept well under Chunk Size so chunks stay distinct, or set per document with
{{ $json.chunkOverlap }}.
Need help automating Character Text Splitter with n8n?
A person reads every message.
Character Text Splitter in n8n, answered
01Is the Character Text Splitter node included in n8n?
02What do you need to make the n8n Character Text Splitter node work?
03What are the limits of this node?
04Which splitter should you start with, and what has to be connected?
05n8n or Make for chunking documents?
Get our weekly integration tips.
No spam. Unsubscribe anytime.


