文本工具 · 大小写 / 全角半角

换行符转换

CRLF/LF/CR 互转

✓本地处理 · 不上传 ✓免费 · 无需登录 ✓无次数限制 累计 133 次使用
输入文本,CRLF/LF/CR 转换实时刷新
转换设置 options
输入文本 input
就绪 · 等待输入
转换结果 result
可视化换行符(输出) visualize
行数 lines0输出
字节 bytes0UTF-8
换行符 type—输出
已转换 changed0处换行符
就绪 · 纯本地处理,文本不上传、不入 URL
第一节

关于本工具

About

从 Windows 拷个脚本到 Linux 服务器,一运行就报错——多半是换行符在作祟。这个工具把 CRLF、LF、CR 三种行尾标记互相转换,不碰文件内容。粘贴文本,点一下,换行符就换成目标格式。所有处理都在浏览器本地完成,文件不会上传到任何服务器。

使用场景

壹

脚本跨平台报错

后端工程师在 Windows 上写完一个 Python 脚本,部署到 Linux 服务器后运行时一直报语法错误。排查两小时发现是编辑器默认保存了 CRLF 换行,而 Linux 的 shell 解释器只认 LF。把脚本拖进本工具转成 LF 格式,再上传执行,三秒就跑了通。

贰

Git 提交全红差异

前端开发小张用 VS Code 改了一个同事的配置文件,提交 PR 后 GitHub 显示整文件被删又重建,实际只改了一行。原因是同事用的 Mac(LF),小张没关自动换行转换,本地存成了 CRLF。用本工具把文件统一转成 LF 再 commit,diff 恢复正常,只显示那一行变更。

叁

CSV 导入系统乱行

运营专员从老系统导出 3000 行客户数据,准备导入新 CRM。导入后 1/3 的记录错位,手机号跑到姓名列。检查发现老系统导出的是 CR 换行(Mac 经典格式),新系统只认 CRLF。用本工具把整份 CSV 转成 CRLF,重新导入后所有字段对齐,省去手动清洗 1000 条脏数据的 4 小时。

肆

邮件正文格式错乱

市场部用 Outlook 编辑了一封带表格的营销邮件,复制到企业微信发送后表格全部挤成一团。原因是 Outlook 内部用 CRLF 换行,企业微信网页端解析时把多余的回车吞掉了。把邮件原文粘贴到本工具转成 LF 格式,再粘贴到企业微信,表格结构完整保留。

伍

日志分析关键字漏查

运维同事用 grep 搜索 Nginx 错误日志中的 'timeout' 关键字,始终少查到几十条记录。后来发现日志文件来自不同服务器,有的用 LF 换行,有的用 CRLF,grep 默认模式把 CR 字符当成了行内容的一部分。用本工具统一转成 LF 后再 grep,所有 timeout 记录全部命中。

第二节

使用指南

Getting Started

使用步骤

  1. 1在输入框粘贴或键入原始文本,工具自动检测换行符类型(CRLF / LF / CR)并高亮标记
  2. 2点击目标格式按钮(如「转 LF」),转换结果即时显示在右侧预览区,差异行以颜色区分
  3. 3预览区确认无误后,点击「复制结果」按钮将转换后文本存入剪贴板
  4. 4若需批量处理,点击「上传文件」选择 .txt 或 .csv 文件,工具自动完成格式转换并弹出下载链接

输入输出示例

输入输出说明
Hello WorldHello World常规:LF 转 CRLF,验证换行符替换是否影响其他字符
Line1 Line2Line1 Line2常规:CRLF 转 LF,验证 Windows 换行转 Unix 格式
边界:空输入,验证工具不报错且输出空串
NoNewlineHereNoNewlineHere边界:无换行符的纯文本,验证工具不添加多余换行
边界:连续多个 LF,验证每个都被正确转换,不合并或丢失
Mixed LF CR EndMixed LF CR End易错:混合三种换行符(CRLF、LF、CR),验证统一转换为 LF 时是否遗漏
Leading TrailingLeading Trailing易错:开头或结尾的换行符,验证不丢失首尾空行

常见错误对照

1.混用换行符导致文件损坏

✗ 错误在 Windows 记事本中编辑 shell 脚本后直接保存(默认 CRLF),上传到 Linux 服务器运行报错
✓ 修复用本工具将文本转为 LF 后再上传,或在编辑器(VS Code/Notepad++)中设置行尾序列为 LF

Linux/Unix 系统只认 LF 作为换行符;CRLF 会被 shell 解释为 '回车+换行',导致命令末尾多出一个 \r,脚本无法执行。

2.误将二进制文件当作文本转换

✗ 错误把 .exe、.jpg、.zip 等二进制文件的内容直接粘贴到输入框,点击转换后输出乱码
✓ 修复本工具仅处理纯文本文件;二进制文件应使用专门的十六进制编辑器或 base64 编码后再处理

二进制文件中可能包含与换行符(0x0A、0x0D)相同的字节值,转换后会破坏文件结构,导致文件不可用。

3.把 '空行' 和 '换行符' 混淆

✗ 错误认为文本末尾有多个空行 = 多个换行符,转换后空行消失
✓ 修复每个空行对应一个连续的换行符序列(如 \n\n 表示两个换行符,中间无字符);转换后空行数量不变,只是换行符类型变了

换行符转换只改变行尾标记的编码方式(\r\n ↔ \n ↔ \r),不增减行数。空行是连续两个换行符之间的空白区域。

4.在 HTTP 请求体中用了错误的换行符

✗ 错误手动构造 HTTP POST 请求体时,用 LF 分隔 header 和 body
✓ 修复HTTP 协议(RFC 7230)要求 header 结束标志为 CRLF(\r\n\r\n),body 中换行符视 Content-Type 而定

HTTP 协议严格规定行尾必须是 CRLF;使用 LF 会导致服务器解析失败,返回 400 Bad Request。

5.Git 跨平台协作时忽略换行符配置

✗ 错误在 Windows 上提交代码时未配置 git config core.autocrlf,导致仓库中混入 CRLF
✓ 修复设置 git config --global core.autocrlf true(Windows)或 input(macOS/Linux),让 Git 自动转换换行符

Git 默认不转换换行符;跨平台协作时,Windows 的 CRLF 会污染仓库,导致 diff 显示整个文件被修改。

6.CSV 文件中换行符导致列错位

✗ 错误CSV 字段内包含换行符(如地址字段跨行),直接转换后破坏字段结构
✓ 修复CSV 中字段内换行符必须用双引号包裹(RFC 4180),转换前确认字段引号正确闭合

CSV 解析器将未引号的换行符视为行结束标志;字段内换行符需用双引号转义,否则转换后数据列会错位。

7.把 Mac 旧系统(CR)文件误认为 LF

✗ 错误将 Mac OS 9 及更早版本的纯 CR 文件直接当作 LF 文件处理,导致所有行合并为一行
✓ 修复先确认文件来源:macOS X 之后使用 LF,旧 Mac(System 1-9)使用 CR;不确定时用本工具选择 'CR → LF' 转换

CR(\r)在 Unix 系统中不被视为换行符,cat 命令会显示为单行;只有明确知道来源是旧 Mac 系统才需处理 CR。

8.在代码字符串中混淆转义序列

✗ 错误在 Python 字符串中写 "line1\nline2" 并认为 \n 就是两个字符(反斜杠 + n)
✓ 修复Python 中 \n 是转义序列,代表一个实际换行符(0x0A);若需要字面量反斜杠+n 应写 r"line1\nline2" 或 "line1\\nline2"

编程语言中 \n 是转义字符,不是两个独立字符;混淆会导致字符串内容与预期不符,尤其影响文件写入和网络传输。

第三节

工作原理

How It Works

核心公式

替换后文本 = 原文本.replace(/\r\n?|\n/g, 目标换行符)

变量说明

  • 原文本待转换的原始字符串
  • 目标换行符CRLF(\r\n)、LF(\n)或CR(\r)

示例

原文本含混合换行:"A\r\nB\nC\rD",目标为LF(\n)。正则匹配所有\r\n、\n、\r,统一替换为\n,得"A\nB\nC\nD"。

原始文本含 CRLF / LF / CR字符扫描逐字节识别换行符(0x0D 0x0A / 0x0A / 0x0D)替换映射按目标格式替换(CR→LF / LF→CR / …)输出新文本纯统一换行符格式目标格式选择CRLF / LF / CR
用户输入 本地处理 输出结果
第五节

常见问题

Q & A
问我复制了一段代码里的换行符,转完还是没变化,是不是工具坏了?+
答

不是工具问题,很可能是复制时编辑器自动保留了原格式。多数代码编辑器(VS Code、Sublime)在粘贴时会自动适配当前文件的换行风格,导致你看到的换行符已经和工具里选的目标格式一致了。建议先在本工具输入区粘贴后,点「查看原始字符」按钮(如果有),确认原始换行符类型;或者用十六进制编辑器看一眼 0x0A/0x0D 的数量再做转换。

问CRLF 转 LF 后文件大小会变小吗?+
答

会,但变化很小。CRLF 每行末尾多一个 0x0D(回车),文件大小增加约 1 字节/行。如果文件有 10 万行,转换后大约减少 97KB。对于纯文本文件这个差异通常可忽略,但如果你在处理 Git 仓库的换行符统一(autocrlf),这点差异会导致 Git 认为文件被修改了,建议配合 .gitattributes 一起用。

问为什么我粘贴的文本里有些行有换行、有些没有,转完格式乱了?+
答

这通常是因为原始文本混用了 CRLF 和 LF 两种换行符(比如从不同操作系统拼接的日志)。本工具按「全局统一替换」处理,不会智能识别每行当前用的哪种。如果你的文本里两种换行符都有,建议先转成 LF(Unix 标准),再从 LF 转成你想要的最终格式;或者先用正则替换工具把零散的 CR 先统一。

问这个工具支持把换行符换成逗号或者空格吗?+
答

不支持。本工具只做 CRLF / LF / CR 三种标准换行符之间的互转,不涉及替换为其他字符。如果你需要把换行符替换成逗号、空格或自定义分隔符,应该使用「文本替换」或「正则替换」类工具。本工具的输出结果在复制后可以直接粘贴到替换工具里做二次处理。

问我上传了一个 CSV 文件,转完换行符后 Excel 打开还是乱行,怎么回事?+
答

CSV 文件乱行通常不是换行符类型的问题,而是字段内包含换行符(引号包裹的单元格内换行)。本工具只处理行末的换行符,不会触碰引号内的换行。建议先用支持 CSV 解析的工具(如 Notepad++ 的 CSV Lint 插件)检查字段内换行情况;如果字段内确实有换行,需要先用正则把引号内的换行替换为占位符,转换后再替换回来。

问Mac 和 Windows 之间传文本,到底该用哪种换行符?+
答

跨平台传文本最稳妥的是用 LF(Unix 格式)。Windows 原生用 CRLF,Mac 从 OS X 开始也用 LF,但旧 Mac(System 9 及之前)用 CR。如果你不确定对方用什么系统,统一转成 LF;大部分现代编辑器(VS Code、Sublime、Notepad++)都能正确显示 LF 换行的文件。本工具支持一键把 CRLF 转成 LF,适合做跨平台前的预处理。

问这个工具在浏览器里运行,我的文本会被上传到服务器吗?+
答

不会。本工具标记为 FE 实现,所有换行符转换逻辑都在浏览器本地 JavaScript 里执行,文本不会离开你的电脑。你可以关掉网络再试一次——转换功能依然可用。如果你的文本包含敏感数据(如密钥、密码、个人隐私),可以放心使用,没有上传风险。

问为什么我转完换行符后,粘贴到某些网站里还是显示成一整段?+
答

这通常是目标网站或输入框对换行符的渲染方式不同。有些网站(如文本编辑器类)会把 LF 渲染成换行,但某些后台系统(如数据库管理面板、旧版 CMS 后台)只认 CRLF。如果你粘贴到特定网站后失效,先确认该网站支持哪种换行符:Windows 服务器通常需要 CRLF,Linux 服务器通常接受 LF。本工具支持三种格式互转,你可以多试一次转成 CRLF 再粘贴。

问CR 这种换行符现在还有人用吗?我什么时候需要转成 CR?+
答

CR 换行符目前主要用于老旧的 Mac 系统(System 9 及之前)和一些嵌入式设备输出的日志。如果你在处理 2000 年以前的 Mac 文件、某些工业设备(如 PLC、条码扫描器)的导出文本,或者从某些老旧数据库导出的文本,可能会遇到 CR 换行符。日常使用中几乎碰不到,但本工具保留了这个选项,方便处理这类历史遗留数据。

隐私保证所有计算与处理均在你的浏览器本地完成,输入数据不会上传服务器,也不会保存或共享。

↑↓选择 ↵打开 ⌘+↵新窗口 esc关闭