Free · no signup · browser-local

RAG Text Splitter with Overlap and Source Offsets

Split text by paragraphs, lines or fixed Unicode code point windows. Adjust chunk size and overlap, trace source ranges and export actual JSON or JSONL chunks.

Browse all tools →

Local workspace · no model calls · inputs are not sent or saved

Prepare your text

Maximum 100,000 UTF-8 bytes. Files are read as text only; whitespace and an optional BOM are preserved.

Sizes use Unicode code points, not tokens or user-perceived characters. Paragraph/line mode prefers a separator within the cap, then falls back to a fixed boundary. Overlap is a target; progress is always required. Paired UTF-16 surrogates stay together. Trimming adjusts offsets and can omit whitespace-only chunks.

Limits: 2,000 raw chunks and 1,000,000 output code points including overlap. Text preparation only; no embeddings, vector search or retrieval quality evaluation.

Run again after editing. Calculations do not run on each keystroke.

Your output

rag-text-splitter.json

Complete the input to preview and export your result.

References checked 2026-11-03 · gpt-tokenizer 4.1.0gpt-tokenizer ↗OpenAI tiktoken ↗LangChain text splitting ↗

Getting started

Paste or open UTF-8 text, choose a boundary, set code point size and overlap, then split and download actual JSON or JSONL chunks.

Before you use the result

Character-based preparation only, not embeddings or vector retrieval. Maximum 100,000 input bytes, 2,000 raw chunks and 1,000,000 output code points including overlap. Trimming can remove whitespace.

Try an example

Split a multilingual document into overlapping paragraphs and trace each chunk back to its exact source range.

How it works

Unicode code point windows prefer the last supported boundary under the cap, then fall back to fixed cuts. Forward progress is enforced. Each chunk includes text, exclusive end offsets, UTF-16 offsets and actual overlap.

Frequently asked questions

Prepare traceable text chunks with paragraph, line or fixed boundaries, a hard size cap and adjustable overlap.

How do I use RAG Text Splitter with Source Offsets?

Paste or open UTF-8 text, choose a boundary, set code point size and overlap, then split and download actual JSON or JSONL chunks.

Does this tool upload my data?

Inputs and files are processed in your browser. Page-view analytics do not contain your tool input.

What should I check before using the result?

Character-based preparation only, not embeddings or vector retrieval. Maximum 100,000 input bytes, 2,000 raw chunks and 1,000,000 output code points including overlap. Trimming can remove whitespace.