跳到主要内容

制表符转空格工具:缩进双向互转

制表符转空格、空格转制表符,按真实 tab 位对齐,可只转行首也可整行,全程浏览器本地

  • 本地处理
  • 分类 开发运维
  • 适合 格式化、校验、压缩或检查和代码相关的文本。
在制表符和空格之间互转缩进,两个方向都行,全程在浏览器里跑。选好 tab 宽度,决定只动行首缩进还是整行的所有 tab 和空格;tab 转空格时,再选对齐到真实 tab 位还是每个 tab 固定换 N 个空格。分享链接会原样打开同一次转换。
方向
选项
tab 转空格方式

tab 补到下一个是 tab 宽度整数倍的列,代码排版跟编辑器里看到的一致。

输入63 字符
输出75 字符

这个工具能做什么

一个精确的制表符转空格、空格转制表符工具,专门用来规范代码缩进。 把文件粘进来,tab 宽度选 2、4、8 或任意自定义值,两个方向都能转。 tab 转空格走的是正确算法:不是把每个 tab 死板换成固定几个空格,而是 补到下一个 tab 位,所以落在第 2 列的 tab 只补到第 4 列,代码排得跟 编辑器里渲染出来的一模一样。要是你就想要扁平替换,还有一种模式把每个 tab 都换成 N 个空格。反过来,空格转 tab 会把行首每满一组空格合成一个 tab,不够一组的零头原样留着。你可以选只动行首缩进(代码场景的稳妥 默认,字符串里或行尾对齐用的 tab 都不碰),也可以整行都转。所有运算都 在浏览器本地跑,一键复制结果,分享链接能原样打开同一次转换。不上传, 不经服务器。

工具细节

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

怎么用

  1. 1. 输入

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

  2. 2. 处理

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

  3. 3. 复制 / 下载

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

制表符转空格工具 适合怎么用

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

适合开发场景

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

开发检查项

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

下一步可以接着做

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

  1. 1 文本文件清理工具 上传文本文件并本地删除 BOM、空字节、行尾空格和过多结尾空行。 打开
  2. 2 .editorconfig 生成器 可视化 .editorconfig 构建,缩进 / 字符集 / 换行 / 末尾空白 / 按 glob 覆盖,浏览器本地 打开
  3. 3 批量查找替换 对大段文本批量查找替换(支持正则、$1 捕获组、全词匹配、大小写开关、多条规则链式应用),全程浏览器本地运算 打开

真实使用场景

  • 提交前把项目的缩进规矩落实到位

    仓库风格指南写的是 2 空格,可同事的编辑器自动塞 tab。推之前,把改过 的文件粘进来,tab 宽度设 2,用只转行首模式把 tab 转成空格,再把结果 复制回去。这下 diff 里只剩你真正动过的行,不再是一大片空白噪声, pre-commit 的 linter 一次就过。

  • 不用逐行排查就修掉 Python 的 TabError

    脚本抛出 "inconsistent use of tabs and spaces in indentation",出问题 那行肉眼根本看不出来。把整个文件粘进来,宽度 4,tab 转空格,只转 行首。每一层都变成纯空格,歧义没了,解释器顺利跑起来。不用再眯着 眼盯列号找那个混进来的 tab。

  • 给博客或 Markdown 里的代码片段做准备

    Markdown 和很多网页代码块按浏览器默认的 8 列渲染 tab,会把你精心 缩进的示例撑变形。先把 tab 按宽度 2 或 4 转成空格,这个片段不管粘到 哪都长一个样,从 CMS 编辑器到 GitHub README 再到 Slack 消息都一致。

  • 给以 tab 为准的代码库把空格转回 tab

    你在给一个 Go 项目或 Makefile 提交代码,那里必须用 tab,可你生成的 文件用的是空格。切到空格转 tab,设上匹配的 tab 宽度,行首每满一组 空格就合成一个 tab。Makefile 尤其挑剔,配方行只认真正的 tab,这一步 决定了构建是能跑还是报 "missing separator"。

常见踩坑

  • 给文件选错了 tab 宽度。原代码本来按宽度 8 的 tab 缩进,你却按宽度 4 转,每个缩进层级就缩了一半,嵌套块全错位。转之前先对齐到文件实际是怎么写的,而不是按你个人喜好。

  • 该用对齐到 tab 位时却用了固定 N 空格。固定模式处理纯行首缩进没问题,但文件里有文字后面的 tab(列对齐、行内表格)时,固定模式补过头,排版就乱了。只要 tab 不止用来缩进,就用对齐到 tab 位。

  • 只该改缩进却整行都转了。整行模式会毫不客气地把字符串字面量里的 tab、你用来对齐行尾注释的空格一并重写。源码场景就开着只转行首,把转换限定在缩进上。

隐私说明

每一次转换都是浏览器标签页里运行的纯 JavaScript。你的代码不离开页面, 什么都不上传,也不记录你粘了什么。唯一要注意:分享链接会把输入和选项 写进查询字符串,所以把"分享链接"粘到聊天里,对方服务器的访问日志会 留下那段文本。涉及私有或专有代码,请用复制按钮粘贴处理好的文本,而不是 分享网址。

常见问题

类似工具组合

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

Made by Toolora · 100% client-side · Updated 2026-06-14