Skip to main content

ANSI Escape Stripper

Remove ANSI escape codes — terminal color and style codes, cursor-movement sequences, and OSC sequences — from pasted terminal output or CI logs, leaving plain text.

Input

Drop a file or browse
One file · text
Or

Output

Stripped Output

Result

Stats

Result
MetricValue
No data yet
Was this helpful?

Guides

What does this tool do?

Terminal programs decorate their output with ANSI escape codes — short, invisible-looking control sequences that tell a terminal emulator to change text color, apply bold/underline/italic formatting, move the cursor, or set a window title. They're what makes ls --color, git diff, test runners and CI build logs look colorful in a real terminal.

The problem: when you copy that output out of a terminal and paste it somewhere that doesn't understand those codes — a bug report, a support ticket, a Slack message, a plain-text file — you get garbage like ^[[31mError^[[0m or a wall of unreadable \x1b[...m noise instead of clean text. This tool strips every ANSI/VT100 escape sequence out of pasted text, leaving only the readable content behind.

What gets removed

  • CSI (Control Sequence Introducer) sequencesESC [ ... letter, the most common kind: text color (\x1b[31m), bold/underline (\x1b[1m), cursor movement (\x1b[2A), screen/line clearing (\x1b[2J, \x1b[K), and private-mode toggles (\x1b[?25h).
  • OSC (Operating System Command) sequencesESC ] ... BEL or ESC ] ... ESC \, used to set a terminal window title or emit clickable hyperlinks.
  • Simple two-character escapesESC followed by a single letter, such as save/restore cursor position.

Everything else — the actual text, whitespace, and line breaks — passes through untouched.

How to use it

  1. Paste terminal output, a CI log, or any text containing ANSI codes into the input box — or drop a .log/.txt file onto the uploader; its contents load straight into the box.
  2. The clean, plain-text result appears instantly in the output box as you type.
  3. The Stats table shows how many escape sequences and how many characters were removed, so you can sanity-check that stripping actually did something.
  4. Copy the result or download it as a .txt file with the buttons on the output card.

FAQ

Why does copy-pasted terminal output look like ^[[0;32m or \x1b[31m instead of colors?

Because the text you pasted into isn't a terminal emulator — it's a plain-text field, so it can't interpret the escape codes and just shows their raw bytes (or a caret-notation representation of them) instead of applying color.

Does this tool render the colors instead of stripping them?

No — it only strips escape codes down to plain text. If you need a colorized preview instead of clean text, you'll want a terminal-to-HTML renderer; this tool is purpose-built for producing clean, portable plain text.

Will it damage text that isn't ANSI-coded?

No. If the input contains no escape sequences, the output is identical to the input (the stats table will show zero sequences and zero characters removed).

Does it handle escaped representations like \x1b or \033 typed as literal backslash text (not real escape bytes)?

No — it matches real ANSI escape bytes (character code 27), which is what you get from an actual copy-paste out of a terminal. Literal text like the four characters \, x, 1, b typed into a script isn't an escape sequence and is left as-is.

Privacy

All processing happens locally in your browser — pasted text and uploaded files are never sent to a server.

ansiterminalescape codesclilogscolor codes

Love the tools? Lose the ads.

One payment clears every ad from your account, for good. No subscription, no tracking.