Text Chunk Splitter – Break Long Text Into Size-Limited Pieces
Almost every system that accepts text imposes a ceiling on it. An SMS segment holds 160 GSM-7 characters, a post on X holds 280, a meta description is truncated around 160, a database column is declared as VARCHAR(255), and an LLM prompt has a context window measured in tokens. Paste something longer and you get a truncation, an error, or a silently mangled record. This text chunk splitter divides a long block of text into numbered pieces that each respect the limit you set, without cutting words in half.
Seven ways to divide the text
Character mode is the common case: no chunk exceeds a maximum character count. Word, sentence, paragraph and line modes count units instead, so a chunk is always a whole number of them — useful for translation batches priced per word, for reading segments, or for cutting a log file into fixed blocks. N equal parts flips the question round: you say how many pieces you want and the tool computes the sizes, spreading the remainder one character at a time so no chunk is more than one character longer than any other and the last one is never a stub. Delimiter mode cuts wherever a literal string or a regular expression matches, with the option to keep or discard the match.
Boundary rules and over-limit chunks
In the two character-budget modes a boundary rule decides where a cut may land. The cut is pulled back to the last whitespace, the last sentence terminator, the last line break, or the last blank line, so the chunk stays readable. Sentence detection protects abbreviations such as Dr., Inc. and e.g., and a period followed by a digit rather than by whitespace — 3.14, example.com — never ends a sentence at all.
Overlap for RAG and embeddings
Retrieval-augmented generation pipelines almost always chunk with an overlap window, and the tool supports one in every mode except delimiter. Each chunk repeats the tail of the one before it, measured in the same unit as the chunk size, so a sentence sitting across a boundary still appears whole inside at least one chunk and its embedding stays meaningful. When a boundary rule is active the repeated window is snapped back to a boundary too, so the overlap begins on a whole word. The statistics panel reports the overhead this costs in absolute characters and as a percentage of the original text.
Prefixes, suffixes and the size budget
Every chunk can carry a prefix and a suffix, both of which understand the {n} and {total} placeholders — which is how (1/7) thread counters get added in one pass. A numbering style offers 1., [1] and Chunk 1: as shortcuts, folded in ahead of anything you typed. The count affixes in size switch decides whether those characters eat into the budget. With it on, a 280-character limit and a nine-character suffix leaves 271 characters of body, so the finished post still fits; with it off the body gets the full 280 and the rendered chunk is longer.
Reading the results
Each chunk is rendered as its own card with a capacity bar, character, word and estimated-token counts, an overlap badge where one applies, and its own copy button. Above them a distribution chart draws one bar per chunk against a dashed target line, so an unbalanced split or an over-limit outlier is obvious at a glance. The summary table reports the total chunk count, the average, smallest and largest sizes, the overlap overhead, and wasted capacity — the share of the allotted budget the chunks did not use, which tells you how tightly the text packed. Token figures throughout use the familiar four-characters-per-token rule of thumb and are labelled as estimates; they are not the output of a real model tokenizer.
Counting, exporting and privacy
Lengths are measured in grapheme clusters, so an emoji built from several joined code points counts as one character and is never split down the middle. Because a byte limit is a different constraint from a character limit, the conversion panel also shows the chosen size in ASCII, UTF-8 and UTF-16 bytes, using ratios measured from your own text rather than an English-prose average. Finished chunks can be copied individually or all at once, or exported as TXT, CSV (index, text, characters, words, lines, tokens) or JSON for an ingestion script. Everything runs in the browser — no text is uploaded — with input capped at 2,000,000 characters and file loads at 2 MB. The share link carries your settings and, only when it is under 800 characters, the text itself.