跳到主要内容

空白字符可视化:显示空格、Tab、换行和隐藏字符

把每个空格、Tab、换行和隐藏字符都看出来:空格中点、Tab 箭头、换行段落符、行尾空格高亮,浏览器本地

  • 本地处理
  • 分类 开发运维
  • 适合 格式化、校验、压缩或检查和代码相关的文本。
把文本里的每个空格、Tab、换行和隐藏字符都显示出来,全程在浏览器里跑。每个空白都换成一个淡色可见符号,行尾空格会高亮,不间断空格和零宽字符也会标出来,不让任何东西继续隐形。想看哪类自己勾,读计数,再一键复制一份去掉行尾空白的版本。
0 字符
显示

这个工具能做什么

空白字符可视化工具把文本里看不见的那部分显示出来。把一段 YAML、一块 Python 代码、一份配置、一段 git diff,或者从 Word 里复制来的内容粘进去, 工具就会把每个空白字符画成一个能看清的淡色符号:空格变成中点,Tab 变成 箭头,换行在真正断行之前显示一个段落符。行尾的空白会被高亮出来,这样你 一眼就能看到那些把 diff 撑大的多余空格;不间断空格(U+00A0)和零宽字符也 各有专门标记,谁都别想继续藏着。计数面板统计空格数、Tab 数、换行数,以及 有多少行末尾带空白,还会在缩进里 Tab 和空格混用时给出警告,这正是 Python IndentationError 和 Makefile 出错的经典原因。一键即可复制一份去掉 所有行尾空白的版本。全部在浏览器里运算,文本不离开页面,什么都不上传。

工具细节

输入
文件 + 文本
页面会根据工具类型展示文本框、数值控件、文件选择或结构化输入。
输出
即时结果 + 复制 + 预览
结果区优先给出可操作结果,支持项会显示复制、下载或可视化预览。
隐私
浏览器本地处理
主工具逻辑未发现外部 API 调用,输入通常留在当前标签页内处理。
保存 / 分享
可分享链接状态
关键设置会进入 URL,复制链接后别人能复现同一组参数。
性能预算
首屏 JS ≤ 9 KB
没有声明 WASM 依赖,适合快速打开和移动端使用。
适用场景
开发运维 · 程序员
分类和职业标签用于推荐相关工具、组织内链,并帮助用户快速判断是否适合当前任务。

怎么用

  1. 1. 输入

    把内容粘贴或拖入工具面板。

  2. 2. 处理

    点击按钮,在浏览器内本地处理,文件不上传。

  3. 3. 复制 / 下载

    一键复制结果或下载到本地。

空白字符可视化 适合怎么用

适合穿插在写代码、查问题、做 Review、上线前的小任务里。

适合开发场景

  • 格式化、校验、压缩或检查和代码相关的文本。
  • 把片段整理好再放进文档、工单、提交或交接材料。
  • 不切换工具,快速检查一个小 payload。

开发检查项

  • 压缩、混淆这类不可逆处理,先对副本操作。
  • 除非确认工具本地处理,不要粘贴密钥和敏感片段。
  • 转换后的代码上线前,仍要跑自己的测试或 lint。

下一步可以接着做

这些入口会把当前任务接到更完整的工具链里。

  1. 1 JSON 格式化与校验 浏览器内即时格式化、校验、压缩 JSON,数据不离开本地。 打开
  2. 2 文本文件清理工具 上传文本文件并本地删除 BOM、空字节、行尾空格和过多结尾空行。 打开
  3. 3 制表符转空格工具 制表符转空格、空格转制表符,按真实 tab 位对齐,可只转行首也可整行,全程浏览器本地 打开

真实使用场景

  • 揪出 Python 的 IndentationError

    代码在脑子里编译没问题,却在一行看着完全正常的代码上抛 TabError 或 IndentationError。把函数粘进来,打开 Tab 和空格标记,扫一眼缩进列: 邻居都以中点开头、唯独它以箭头开头的那行,就是空格文件里混进 Tab 的 元凶。还没逐行看,混用缩进警告就已经替你确认了。

  • 提交前清掉行尾空白

    审查的人老是给你挑出一堆只改了行尾空格的 diff。把文件粘进来,每一行 带行尾空白的都被高亮出来,再把去掉行尾空白的版本直接复制回编辑器。 下一次 diff 只剩你真正想改的行,代码评审不再纠缠空白。

  • 调试一个看着一样却比不相等的值

    一个配置键肉眼看上去对得上,查找却老是失败。把两个字符串都粘进来, 不间断空格或零宽字符的标记立刻把差异显出来,就是 Word 或从聊天里 复制时悄悄塞进来的那个。这下你就知道,比较之前该把空格规范化,还是 把那个隐形字符删掉。

  • 核对对空白敏感的 YAML 或 Makefile 规则

    YAML 在意精确的缩进,Makefile 要求每条配方行前面是一个真正的 Tab。 把片段粘进来看标记:一条配方行如果以中点而不是箭头开头,就解释了那个 可怕的 missing separator 报错;一个缩进过头的 YAML 键会多显几个中点, 你照着把层级对齐就行。

常见踩坑

  • 以为某行是空格缩进,其实是 Tab 缩进。在多数编辑器里两者宽度一样,但在这里 Tab 显示成箭头、空格显示成中点。读每行第一个符号就知道真相,也就明白为什么一个"对得上"的缩进还是把解析器搞崩了。

  • 把不间断空格当成普通空格。U+00A0 看着像空格却是另一个字符,所以按普通空格做修剪会把它漏下,字符串比较还是失败。判断一个值干不干净时,要盯着它那个专门的标记,而不只是看中点。

  • 把带标记的预览复制回代码里。预览是满是中点和箭头的视觉辅助,不是真正的文本。要拿到可用的输出,用"已去掉行尾空白"的复制按钮;需要其他转换就用下面链接的 Tab 转空格或文本清理工具。

隐私说明

符号渲染、计数、混用缩进检查和行尾空白修剪,每一步都是浏览器 标签页里运行的纯 JavaScript。你粘进来的文本不离开页面,也不上传、不记录。 唯一要注意:分享链接会把输入写进查询字符串,所以把链接粘到聊天里,对方 服务器的访问日志会留下这段文本。如果片段里有密钥或私密数据,请用复制 按钮粘贴结果,而不是分享网址。

常见问题

类似工具组合

做你这行的人, 还会一起用这些。

Made by Toolora · 100% client-side · Updated 2026-05-29