Resources · n8n integration

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

Why automate

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.

Connections

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 Splitterai_textSplitter
01Text SplitterThe 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.

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.
Use cases
a support handbook goes through Default Data Loader, gets chunked here, and lands in a store your agent can search.
Parameters

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.

01

Separator

separator

What 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.
Use cases
an FAQ export where every answer sits in its own paragraph splits cleanly on a blank line, and each chunk stays one question wide.
02

Chunk Size

chunkSize

What 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.
Use cases
a product manual chunked small returns precise passages for a lookup, while the same manual chunked large gives a summarization chain fewer, fuller passes to work with.
03

Chunk Overlap

chunkOverlap

What 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 }}.
Use cases
a legal clause that runs across a chunk boundary keeps its opening words in the following chunk, so a search on that clause still finds the whole thing.
Need help

Need help automating Character Text Splitter with n8n?

A person reads every message.

FAQ

Character Text Splitter in n8n, answered

01Is the Character Text Splitter node included in n8n?
Yes. It ships inside the AI package of n8n, @n8n/n8n-nodes-langchain, which comes with n8n itself. There is nothing to install and nothing extra to pay on the n8n side, on n8n Cloud as well as on a self-hosted instance running the Community Edition under the Sustainable Use licence. A workflow behaves the same way in both. The node does no API calls of its own, so it adds no provider cost either. What you pay for in an AI workflow comes from the model provider attached further up, such as OpenAI, Anthropic, Google or Mistral, and they bill their own calls under their own terms.
02What do you need to make the n8n Character Text Splitter node work?
Nothing to authenticate. This node has no credential and no Authentication selector, so there is no account to connect, no key to paste and no scope to approve. The credential lives on the model sub-node plugged in elsewhere in the same AI setup, not here. What the node does need is a root node to attach to through its Text Splitter port, since it has no main input and never runs on its own. Connect it to a Default Data Loader or a Summarization Chain, set the 3 parameters, and it works from the first execution.
03What are the limits of this node?
It cuts on characters and only on characters. The separator is a text boundary you choose, so structure that is not marked by that boundary gets ignored: the node does not know a heading from a footnote. It counts characters rather than model tokens, which means Chunk Size is an approximation of what a model will actually read. It exposes 3 parameters and nothing else, with no preview of the chunks before they leave. The page describes version 1 of the node, the maximum in the catalogue; an older workflow can show an earlier version with fewer options.
04Which splitter should you start with, and what has to be connected?
Start here when the text has an obvious separator you can name, a blank line between paragraphs or a delimiter between records. The minimum wiring is short: a root node that accepts a Text Splitter port, so a Default Data Loader reading your documents or a Summarization Chain digesting them, plus this node on that port. Anything the root node needs on its other ports, a chat model for instance, stays its own business. Set Chunk Size first, then Chunk Overlap, then adjust the Separator once you see how the chunks come out.
05n8n or Make for chunking documents?
It depends on where your data has to live. n8n runs self-hosted through Docker or npm, or on n8n Cloud, with the same workflow either way, so documents can be processed on infrastructure you control. Make is hosted only, with no self-hosting option, and bills per operation, which changes the arithmetic when one document turns into hundreds of chunks. On the building side, both give you a visual canvas. Pick n8n when data control and cost per volume matter, and Make when a fully managed platform is the priority.
Hack'celeration Lab

Get our weekly integration tips.

No spam. Unsubscribe anytime.