Text Pipeline Playground

Paste text, write a short pipeline — one operation per line — and chain grep, replace, sort, unique, head, split and more. Safe and declarative (no code execution); runs entirely in your browser.

Try:
Pipeline output

About this tool

Text Pipeline Playground lets you paste text and run it through a small chain of safe transforms: grep lines, reject noise, regex-replace fields, trim, change case, sort, dedupe, take a head/tail sample, split records, and join the result back together. It is inspired by command-line pipelines and interactive text wranglers, but it deliberately does not execute Python, shell, JavaScript, or user code.

Write one operation per line in the Pipeline box. Operations run from top to bottom, so you can build a repeatable recipe such as:

grep ERROR
replace /^\S+ ERROR /!! /
sort
unique

For this input:

2024-01-01 INFO started
2024-01-01 ERROR disk full
2024-01-02 ERROR disk full
2024-01-02 WARN low memory
2024-01-03 ERROR timeout

The output is:

!! disk full
!! timeout

Supported operations:

Turn on Regex mode when grep/reject should use regular expressions instead of literal substring matching. replace always uses regular expressions. Case-insensitive matching applies to grep, reject, and replace. Max output lines caps runaway output; On a bad pipeline line can stop with an error or skip malformed operations.

Limits

The pipeline is line-oriented and text-only. It does not run arbitrary Python code, call APIs, read files, or preserve binary data. Rust regex syntax is used, so look-around and backreferences in the pattern are not supported, but capture groups and $1 replacements are. Output is capped at the configured line limit after the pipeline finishes.

FAQ

Does this run Python or shell code?

No. The name comes from Python-style text wrangling workflows, but this tool is a fixed, declarative set of operations implemented in Rust/WebAssembly. It never evaluates arbitrary code, imports packages, opens files, or starts subprocesses. That makes it safe to run entirely in the browser.

When should I turn on Regex mode?

Use Regex mode when grep or reject needs anchors, character classes, alternation, or capture-style patterns, such as ^ERROR|WARN or \b\d{4}-\d{2}-\d{2}\b. Leave it off for plain substring searches — literal mode is easier for text containing punctuation like . or ?. The replace /old/new/ operation always treats old as a regex.

How do I remove duplicate lines?

Add unique after any filtering or mapping step. It keeps the first copy of each line and drops later duplicates. If you want duplicates adjacent before deduping, run sort first and then unique; if original order matters, use unique without sorting.

What happens if one pipeline line is wrong?

With On a bad pipeline line = Stop, the tool returns an error that names the failing line and explains what was expected, for example pipeline line 2: head expected a line count. With Skip, malformed lines are ignored and the remaining valid operations still run. Stop is safer for saved recipes; Skip is useful while experimenting.

Can I process CSV or JSON with this?

You can do simple line-oriented cleanup such as filtering rows, replacing delimiters, extracting a column with a regex, or turning lines into bullets. For structured CSV/JSON parsing, use a dedicated CSV or JSON tool instead — this playground treats input as plain text and does not understand quoting, nested objects, or schemas.

Developer & Automation Access

Run it from the terminal

Same engine as this page, headless — via the gizza CLI:

gizza tool text-pipeline-playground "Paste your text here — one record per line…" 'pipeline=grep ERROR
sort
unique'

New to the CLI? Get gizza →

Open it by URL

Pre-fill and auto-run this tool with query parameters — the names match the API/CLI:

https://gizza.ai/tools/text-pipeline-playground/?text=Paste%20your%20text%20here%20%E2%80%94%20one%20record%20per%20line%E2%80%A6&pipeline=grep%20ERROR%0Asort%0Aunique&regex_mode=true&case_insensitive=true&limit=10000&on_error=stop

Machine-readable descriptor: tool.json — title + parameters JSON Schema for agents.