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
SequenceNameWhat it does
ESC[0mSGRreset all styles
ESC[1mSGRbold
ESC[2mSGRdim
ESC[3mSGRitalic
ESC[4mSGRunderline
ESC[5mSGRblink
ESC[7mSGRinverse
ESC[8mSGRhidden
ESC[9mSGRstrikethrough
ESC[22mSGRnormal weight
ESC[23mSGRitalic off
ESC[24mSGRunderline off
ESC[25mSGRblink off
ESC[27mSGRinverse off
ESC[28mSGRhidden off
ESC[29mSGRstrikethrough off
ESC[30mSGRblack text
ESC[31mSGRred text
ESC[32mSGRgreen text
ESC[33mSGRyellow text
ESC[34mSGRblue text
ESC[35mSGRmagenta text
ESC[36mSGRcyan text
ESC[37mSGRwhite text
ESC[39mSGRdefault text colour
ESC[40mSGRblack background
ESC[41mSGRred background
ESC[42mSGRgreen background
ESC[43mSGRyellow background
ESC[44mSGRblue background
ESC[45mSGRmagenta background
ESC[46mSGRcyan background
ESC[47mSGRwhite background
ESC[49mSGRdefault background
ESC[90mSGRbright black text
ESC[91mSGRbright red text
ESC[92mSGRbright green text
ESC[93mSGRbright yellow text
ESC[94mSGRbright blue text
ESC[95mSGRbright magenta text
ESC[96mSGRbright cyan text
ESC[97mSGRbright white text
ESC[100mSGRbright black background
ESC[101mSGRbright red background
ESC[102mSGRbright green background
ESC[103mSGRbright yellow background
ESC[104mSGRbright blue background
ESC[105mSGRbright magenta background
ESC[106mSGRbright cyan background
ESC[107mSGRbright white background
ESC[38;5;208mSGRtext palette colour 208
ESC[48;5;208mSGRbackground palette colour 208
ESC[38;2;255;128;0mSGRtext colour rgb(255, 128, 0)
ESC[48;2;255;128;0mSGRbackground colour rgb(255, 128, 0)
ESC[nACUUCursor up
ESC[nBCUDCursor down
ESC[nCCUFCursor forward
ESC[nDCUBCursor back
ESC[nECNLCursor to next line
ESC[nFCPLCursor to previous line
ESC[nGCHACursor to column
ESC[row;colHCUPCursor to position
ESC[nJEDErase screen
ESC[nKELErase line
ESC[nSSUScroll up
ESC[nTSDScroll down
ESC[nLILInsert lines
ESC[nMDLDelete lines
ESC[nPDCHDelete characters
ESC[nXECHErase characters
ESC[n@ICHInsert blank characters
ESC[sSCPSave cursor position
ESC[uRCPRestore cursor position
ESC[6nDSRDevice status report
ESC[?25hDECTCEMShow cursor
ESC[?25lDECTCEMHide cursor
ESC[?1049hDECSETSwitch to alternate screen
ESC[?1049lDECRSTBack to main screen
ESC[?nhDECSETSet private mode
ESC[?nlDECRSTReset private mode
ESC]0;…BELOSC 0Window title and icon name
ESC]1;…BELOSC 1Icon name
ESC]2;…BELOSC 2Window title
ESC]7;…BELOSC 7Current directory
ESC]8;;…BELOSC 8Hyperlink start
ESC]8;;BELOSC 8Hyperlink end
ESC]52;…BELOSC 52Clipboard write
ESC]133;…BELOSC 133Shell prompt mark
ESC7DECSCSave cursor position
ESC8DECRCRestore cursor position
ESCcRISFull terminal reset
ESC=DECKPAMKeypad application mode
ESC>DECKPNMKeypad numeric mode
ESCMRIReverse line feed
ESCDINDLine feed
ESCENELNext line
ESC(xSCSSelect 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.