ANSI 转义符清除工具
从粘贴的终端输出或 CI 日志中移除 ANSI 转义序列 — 终端颜色和样式代码、光标移动序列以及 OSC 序列 — 只留下纯文本。
输入
输出
清除后的输出
统计
| 指标 | 数值 |
|---|---|
| No data yet | |
使用指南
这个工具是做什么的?
终端程序会用ANSI 转义序列来装饰输出 — 这些短小、看起来不可见的控制序列会告诉终端模拟器更改文字颜色、应用粗体/下划线/斜体格式、移动光标或设置窗口标题。正是它们让 ls --color、git diff、测试运行器和 CI 构建日志在真实终端中看起来色彩缤纷。
问题在于:当您把这段输出从终端复制出来,粘贴到无法理解这些代码的地方 — 错误报告、支持工单、Slack 消息、纯文本文件 — 您得到的不是干净的文本,而是 ^[[31mError^[[0m 这样的乱码,或一堵难以阅读的 \x1b[...m 噪声。这个工具会从粘贴的文本中移除所有 ANSI/VT100 转义序列,只留下可读的内容。
会移除哪些内容
- CSI(控制序列引入符)序列 —
ESC [ ... 字母,最常见的一类:文字颜色(\x1b[31m)、粗体/下划线(\x1b[1m)、光标移动(\x1b[2A)、清屏/清行(\x1b[2J、\x1b[K)以及私有模式切换(\x1b[?25h)。 - OSC(操作系统命令)序列 —
ESC ] ... BEL或ESC ] ... ESC \,用于设置终端窗口标题或输出可点击的超链接。 - 简单的两字符转义 —
ESC后跟单个字母,例如保存/恢复光标位置。
其余所有内容 — 实际文本、空白和换行符 — 都会原样保留。
如何使用
- 将终端输出、CI 日志或任何包含 ANSI 代码的文本粘贴到输入文本中 — 或者将
.log/.txt文件拖放到上传日志文件区域;其内容会直接加载到文本框中。 - 在您输入的同时,干净的纯文本结果会立即出现在清除后的输出中。
- 统计表格会显示移除了多少条转义序列和多少个字符,方便您确认清除确实生效了。
- 使用输出卡片上的按钮复制结果,或将其下载为
.txt文件。
常见问题
为什么复制粘贴的终端输出显示为 ^[[0;32m 或 \x1b[31m,而不是颜色?
因为您粘贴到的位置并不是终端模拟器 — 它是一个纯文本字段,无法解释转义代码,因此只会显示原始字节(或它们的脱字符记法表示),而不是应用颜色。
这个工具会渲染颜色而不是移除它们吗?
不会 — 它只会把转义代码剥离为纯文本。如果您需要彩色预览而不是干净文本,可以使用终端转 HTML 渲染器;这个工具是专门为生成干净、可移植的纯文本而打造的。
它会损坏不含 ANSI 代码的文本吗?
不会。如果输入中不含转义序列,输出与输入完全相同(统计表格会显示移除了零条序列和零个字符)。
它能处理像 \x1b 或 \033 这样以字面反斜杠文本(而非真正的转义字节)输入的转义表示吗?
不能 — 它匹配的是真正的 ANSI 转义字节(字符代码 27),也就是从终端实际复制粘贴时得到的内容。像 \、x、1、b 这四个字符输入到脚本中的字面文本并不是转义序列,会原样保留。
隐私
所有处理都在您的浏览器中本地完成 — 粘贴的文本和上传的文件绝不会发送到服务器。
Use it from code
From 3 credits per callREST API
curl -X POST https://api.iotools.cloud/v1/tool/ansi-escape-stripper \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"inputText": "\u001b[31mError:\u001b[0m something failed"
}'Swap in your own key from your account. The tool's fields are the body — no wrapper.
Ask an AI agent
Use the IOTools `ansi-escape-stripper` tool (ANSI Escape Stripper) on this input:
YOUR_INPUT_HEREPaste this at any agent connected to the IOTools MCP server, then add your input.