Text Toolkit

Chain text operations — case conversion, cleanup, encoding, find/replace, regex — into a live pipeline. Select lines with the gutter to apply ops to only chosen lines. 100% client-side.

All transformations happen in your browser. Nothing is uploaded.

Input

0 lines · 0 selected · 0 chars · 0 words · 0 B · 0 min read

Pipeline

Output

You just tested your Text Toolkit — Try JSON Formatter & Validator next →

What Is the Text Toolkit?

Text Toolkit chains discrete text-manipulation operations into a single visible pipeline. Each operation reads the current buffer, transforms it, and feeds the next — like a Unix shell pipeline (tr | sort | uniq) but rendered as a stack of toggleable chips you can rearrange. Four built-in op groups: case (UPPER, lower, Title, snake_case, camelCase, kebab-case, CONSTANT_CASE), lines (trim, dedupe, sort, reverse, remove blank, join-to-single-line), encode (URL, HTML entities, Base64, Unicode escape — each with a decode pair), and regex (literal find/replace, regex find/replace with flags, extract emails / URLs / numbers). A line gutter on the input lets you tick individual rows and bind a scope toggle per operation: all lines runs the op across the buffer; selected lines only skips rows you did not check. The selected-line scope is the killer feature for tabular data — strip whitespace from columns 1-3 without touching column 4, or join the matching rows from a CSV without flattening the rest.

How to Use Text Toolkit

Paste any text into the input. Click + Add operation, pick from the four group pickers, and the operation appears as a chip in the pipeline strip. Click the chip name to toggle the operation on/off without removing it (useful for A/B comparison). Click the scope toggle (all vs selected) to switch which rows the op touches. Drag chips to reorder — the order matters since each chip sees the previous chip's output. The output panel updates live with a 150ms debounce. The URL hash captures your full state (input + pipeline + selected line ranges) so copying the URL gives someone the exact same configuration. There is also a separate Diff sub-tab that compares two text blocks line-by-line with intra-line highlighting via jsdiff. For inputs under 1 MB the output is recomputed every keystroke; past 1 MB a Run button appears to control when the pipeline executes.

Frequently Asked Questions

Is my text uploaded anywhere?

No. Every operation runs in your browser. Nothing leaves your device.

How does the pipeline work?

Each operation runs in order on the output of the previous one. Toggle a step off to skip it, drag chips to reorder, or change scope between 'all' and 'selected' lines.

Can I share a configured pipeline?

Yes — copy the URL. The pipeline state lives in the URL hash. Inputs over 50 KB are dropped from the URL to keep links short.

What is the input size limit?

Live preview works up to 1 MB. Larger inputs show a Run button and process on demand.