ANSI Escape Code Remover
Remove ANSI escape codes — SGR colors, cursor/screen control, and OSC window titles and hyperlinks — from terminal and CI logs, leaving clean, greppable text.
You can also drop a log file onto this box.
Look up a code — the common ANSI sequences and what each does
| Sequence | Name | What it does |
|---|---|---|
ESC[0m | SGR | reset all styles |
ESC[1m | SGR | bold |
ESC[2m | SGR | dim |
ESC[3m | SGR | italic |
ESC[4m | SGR | underline |
ESC[5m | SGR | blink |
ESC[7m | SGR | inverse |
ESC[8m | SGR | hidden |
ESC[9m | SGR | strikethrough |
ESC[22m | SGR | normal weight |
ESC[23m | SGR | italic off |
ESC[24m | SGR | underline off |
ESC[25m | SGR | blink off |
ESC[27m | SGR | inverse off |
ESC[28m | SGR | hidden off |
ESC[29m | SGR | strikethrough off |
ESC[30m | SGR | black text |
ESC[31m | SGR | red text |
ESC[32m | SGR | green text |
ESC[33m | SGR | yellow text |
ESC[34m | SGR | blue text |
ESC[35m | SGR | magenta text |
ESC[36m | SGR | cyan text |
ESC[37m | SGR | white text |
ESC[39m | SGR | default text colour |
ESC[40m | SGR | black background |
ESC[41m | SGR | red background |
ESC[42m | SGR | green background |
ESC[43m | SGR | yellow background |
ESC[44m | SGR | blue background |
ESC[45m | SGR | magenta background |
ESC[46m | SGR | cyan background |
ESC[47m | SGR | white background |
ESC[49m | SGR | default background |
ESC[90m | SGR | bright black text |
ESC[91m | SGR | bright red text |
ESC[92m | SGR | bright green text |
ESC[93m | SGR | bright yellow text |
ESC[94m | SGR | bright blue text |
ESC[95m | SGR | bright magenta text |
ESC[96m | SGR | bright cyan text |
ESC[97m | SGR | bright white text |
ESC[100m | SGR | bright black background |
ESC[101m | SGR | bright red background |
ESC[102m | SGR | bright green background |
ESC[103m | SGR | bright yellow background |
ESC[104m | SGR | bright blue background |
ESC[105m | SGR | bright magenta background |
ESC[106m | SGR | bright cyan background |
ESC[107m | SGR | bright white background |
ESC[38;5;208m | SGR | text palette colour 208 |
ESC[48;5;208m | SGR | background palette colour 208 |
ESC[38;2;255;128;0m | SGR | text colour rgb(255, 128, 0) |
ESC[48;2;255;128;0m | SGR | background colour rgb(255, 128, 0) |
ESC[nA | CUU | Cursor up |
ESC[nB | CUD | Cursor down |
ESC[nC | CUF | Cursor forward |
ESC[nD | CUB | Cursor back |
ESC[nE | CNL | Cursor to next line |
ESC[nF | CPL | Cursor to previous line |
ESC[nG | CHA | Cursor to column |
ESC[row;colH | CUP | Cursor to position |
ESC[nJ | ED | Erase screen |
ESC[nK | EL | Erase line |
ESC[nS | SU | Scroll up |
ESC[nT | SD | Scroll down |
ESC[nL | IL | Insert lines |
ESC[nM | DL | Delete lines |
ESC[nP | DCH | Delete characters |
ESC[nX | ECH | Erase characters |
ESC[n@ | ICH | Insert blank characters |
ESC[s | SCP | Save cursor position |
ESC[u | RCP | Restore cursor position |
ESC[6n | DSR | Device status report |
ESC[?25h | DECTCEM | Show cursor |
ESC[?25l | DECTCEM | Hide cursor |
ESC[?1049h | DECSET | Switch to alternate screen |
ESC[?1049l | DECRST | Back to main screen |
ESC[?nh | DECSET | Set private mode |
ESC[?nl | DECRST | Reset private mode |
ESC]0;…BEL | OSC 0 | Window title and icon name |
ESC]1;…BEL | OSC 1 | Icon name |
ESC]2;…BEL | OSC 2 | Window title |
ESC]7;…BEL | OSC 7 | Current directory |
ESC]8;;…BEL | OSC 8 | Hyperlink start |
ESC]8;;BEL | OSC 8 | Hyperlink end |
ESC]52;…BEL | OSC 52 | Clipboard write |
ESC]133;…BEL | OSC 133 | Shell prompt mark |
ESC7 | DECSC | Save cursor position |
ESC8 | DECRC | Restore cursor position |
ESCc | RIS | Full terminal reset |
ESC= | DECKPAM | Keypad application mode |
ESC> | DECKPNM | Keypad numeric mode |
ESCM | RI | Reverse line feed |
ESCD | IND | Line feed |
ESCE | NEL | Next line |
ESC(x | SCS | Select character set |
What ANSI escape codes are
Terminals add color and formatting with invisible ANSI escape sequences — short runs of bytes that start with the ESC control character. The code ESC[32m turns text green and ESC[0m resets it; others move the cursor, clear the line, or set the window title. On a live terminal you never see them, but the moment you copy that output into a ticket, a pull request, a text file, or a log viewer that does not render color, the codes resurface as noise such as [32m and [0m plus stray control characters that break search, diffing, and word counts.
Clean terminal and CI logs in your browser
Paste any colored log and this tool strips every ANSI sequence in a single pass — SGR color and style codes, cursor and screen-control commands (CSI), operating-system commands (OSC) like window titles and clickable hyperlinks, and standalone single-character escapes — while leaving the visible text and line breaks untouched. It is built for cleaning CI output from GitHub Actions, GitLab CI, or Jenkins, tidying test-runner results, and turning pasted terminal captures into plain, greppable text. A log file can be dropped straight onto the box as well as opened with Open file…. Folded under the tool, Look up a code lists the common sequences — every SGR attribute, the basic colours one by one, the palette and true-colour forms, the cursor, erase, scroll and mode sequences, OSC titles, links and clipboard, and the single-character escapes — each with what it does, so you can look one up without pasting a log. Tick Also show the log in colour, as the terminal drew it to see the log a second time under the clean text, each piece in its colour and style — basic and bright colours, palette and true-colour codes, bold, dim, italic, underline, strikethrough, inverse and hidden — on a dark terminal background; cursor moves are left out, and a log that changes colour on every word stops after a limit and says so, while the clean text stays whole. Under the clean text, Send the clean text to opens Text Sorter, Remove Duplicate Lines, List Chunker or Data Extractor in this tab with the text already in it; on the way the text waits in this tab only until that page takes it, and it never goes into the address. The Also show the log in colour box is remembered on this device until you press “Forget saved settings”; the log itself is not. Everything runs locally in your browser, so even a sensitive build log never leaves your device.
Frequently asked questions
What is an ANSI escape code?
It is a sequence of bytes a terminal uses to control color, styling, and the cursor. Most start with the ESC character followed by a bracket — for example ESC[1;31m for bold red. Programs print them to format output, and this tool removes them so only the plain text remains.
Does it remove cursor and window-title sequences too, or only colors?
Both. It strips SGR color and style codes, CSI cursor and screen-control sequences, OSC sequences such as window titles and hyperlinks, and single-character escapes — every common ANSI sequence, not just colors.
Can I see which escape codes were removed?
Yes. Under the clean text a table lists every distinct sequence that was taken out — its name, what it did (a colour, bold, a cursor move) and how many times it appeared.
Can I see the log in its colours instead of only stripping them?
Yes. Tick “Also show the log in colour, as the terminal drew it” and the log is drawn again under the clean text on a dark terminal background, each piece in its SGR style: the basic and bright colours, the palette and true-colour codes, bold, dim, italic, underline, strikethrough, inverse and hidden. It is a picture of the colours, not a terminal, so cursor moves are dropped and blink is not drawn. A log that changes colour on every word stops after a limit and says so; the clean text above is always the whole log.
Can I look up what a code means without pasting a log?
Yes. Unfold “Look up a code” under the tool: a table lists the common ANSI sequences — every SGR attribute, the basic colours one by one, the palette and true-colour forms, the cursor, erase, scroll and mode sequences, the OSC titles, links and clipboard, and the single-character escapes — each with its name and what it does. Its descriptions come from the same classifier as the “What was removed” table, so the two tables agree.