去空行空格

去空行空格是一个免费在线文本清理工具:一键删除多余空行,也可以把连续空行合并成一个、保留段落感;同时去掉行首行尾空格、合并行内连续空格、删除汉字之间的空格,并清除零宽空格、BOM 这类看不见的字符,把全角空格归一成半角。它和通用文本工具箱不同:判定空行之前先清隐形字符、再归一全角空白,所以「看着是空行却怎么都删不掉」的行也能删掉,清完还会逐项报出删了多少。全程浏览器本地完成,文本不上传。

拖入 .txt / .md / .csv 文件,点击选择
文本不上传 · 浏览器本地清理 · 也可直接粘贴 · 单文件 ≤ 10 MB

粘进来就能用:默认合并连续空行为 1 个、去掉行尾空格、清除零宽等隐形字符,不动行首缩进。

默认:合并连续空行为 1 个 + 去行尾空白 + 清隐形字符,不动缩进。

更多清理项:行首缩进、连续空格、隐形字符、空行判定

🔒 空行判定、空格清理与隐形字符检测全部在你的浏览器本地用 JS 完成,文本不上传任何服务器, 也不写入本地存储,关闭页面即清除。清理只删除空白与格式类隐形字符,不会改动任何可见文字。

如何使用去空行空格

1

把要清理的内容粘进文本框,或直接拖入 .txt / .md / .csv / .log / .srt / .json / .sql 文件(单文件 10 MB 以内,按 UTF-8 读取,GBK 文件会被明确拒绝并提示另存为 UTF-8);输入框下方会先告诉你这段文字里有多少空行、多少行带行尾空格、多少个看不见的字符。

2

选一个预设(复制自 PDF / 复制自网页 / 代码 / 最紧凑),或直接细调开关:空行是删光还是合并成 N 个、要不要去行首缩进、要不要合并连续空格、要不要删掉汉字之间的空格。带 ⚠️ 的开关会清掉缩进或改动 Tab,默认都是关的。

3

看统计条给出的逐项台账(删了几个空行、清了几处行尾空格、删了几个隐形字符),需要时打开「显示空白字符」用 · → ¶ ␀ 核对,然后复制结果或下载 .txt(换行符可选 LF / CRLF);改坏了就点「撤销本次清理」。

关于去空行空格的常见问题

在线去空行不上传是真的吗文字会外传吗
不会外传。空行判定、空格清理、隐形字符检测与统计全部在你的浏览器里用 JavaScript 完成,页面没有任何一次把文本发往服务器的请求,关闭或刷新页面即全部清除,也不会把文本写进 localStorage 等本地存储。想自己确认也很简单:按 F12 打开开发者工具的「网络」面板,再粘一段文字进来清理一次,整个过程不会新增任何携带正文的请求。所以处理内部文档、客户名单、未发布的稿件都可以放心使用。清理只删除空白与格式类隐形字符,不会改动任何一个可见文字,结果区还有「撤销本次清理」可以一键回退。
怎么一键删除所有空行和多余的空格
把文字粘进文本框即可,默认就会把连续空行合并成一个并保留段落分隔,同时清掉文首文末的空行。想一个空行都不留,把「空行怎么处理」切成「删除全部空行」,这就是一键删除所有空行;行内的空格再打开「合并行内连续空格为 1 个」一起收拾,两件事在同一次清理里完成。如果只想压掉过多的连续空行、每段之间仍留一个,就用默认的「合并连续空行」并把保留个数设为 1(最多可设 10)。反过来,如果只想清理行内空格、空行原样不动,选「保留空行」。统计条会明确告诉你这次删掉了几个空行、合并了几处空格,不用自己数。
Word复制过来很多空行怎么办能批量删除空行吗
能,而且是一次全部处理完。Word 复制过来很多空行,通常有两个来源:原文每个段落之间本来就空了一行,或者段落间距是用连续回车敲出来的——复制成纯文本后,这些都会变成真实的空行。把内容粘进本页,默认的「合并连续空行」就会把它们压成一个;想彻底清光就切「删除全部空行」,这一步就是批量删除空行,文档多长都是一次完成。有一点要注意:Word 里那种靠「段前段后间距」撑出来的空白根本不占一行,复制成纯文本后并不存在,本页也就无从删起。另外 Word 正文常混着不换行空格(U+00A0)和全角空格,本页会先把它们归一成半角空格再判定空行,所以不会出现「删了一遍还剩几行怎么都删不掉」的情况。
空行删不掉怎么办为什么删了还剩空行
因为那一行并不是真的空:常见原因有四种——行里有空格或 Tab、行里藏着一个宽度为零的零宽空格(U+200B)、行里是一个全角空格(U+3000),或者内容其实还在 Word / PDF 里、你删的是文档的空段落。本工具的处理顺序就是为这个问题设计的:先清除零宽空格等隐形字符、再把全角空格与不换行空格归一成半角,最后才判断哪些行算空行,所以这些「假空行」都会被识别出来。判定口径也可以切换:默认「含空格/Tab/隐形字符的行也算空行」,如果你只想删真正长度为 0 的行,可以切成严格口径。
段落之间空行太多怎么只保留一个空行
用默认的「合并连续空行」策略,把「最多保留几个连续空行」设为 1,就是只保留一个空行:段落之间的分隔还在,多出来的空行会被压掉。想让段落之间留两个空行就填 2,最多支持 10 个;填 0 等价于「删除全部空行」,界面会同步反映这一点,不会留下自相矛盾的状态。另外「去掉文首与文末的空行」默认是开的,所以不管中间怎么保留,开头和结尾的空行都会清干净,粘到别处不会莫名多出几行。
复制PDF文字有空格怎么办能一次删干净吗
打开「删除汉字之间的空格」开关,或者直接用「复制自 PDF / OCR」预设,一次就能删干净。工具只删掉汉字、日文假名、谚文与全角标点彼此之间的空格,也就是通常说的删除中文之间的空格,例如「你 好 世 界」变成「你好世界」、「你好 , 世界」变成「你好,世界」,而英文词之间的空格一个都不会动,Hello World 永远是 Hello World。中文与英文、数字之间的空格(也就是常说的「盘古之白」,例如「小鹿 tools」)默认也保留,因为很多人是有意加的;确实要一起删掉的话,再勾上子选项「中文与英文/数字之间的空格也删」。这类空格通常来自 PDF 按字形定位的复制、OCR 按字切分的识别结果,或者老 Word 文档。
零宽空格怎么删才不会拆散emoji表情
本工具默认就会清除零宽空格,同时对组合 emoji 做保护,所以表情不会被拆散。零宽空格(U+200B)是一个宽度为零、肉眼完全看不见的字符,常来自网页复制、在线文档和某些编辑器;它看不见却真实存在,会让搜索匹配不上、去重去不掉、导入数据库时莫名报错,也是很多人「明明是空行却删不掉」的元凶。同一步还会删除不可见字符里的零宽非连接符、BOM(U+FEFF)、软连字符(U+00AD)、单词连接符和 U+202A–U+202E 这类方向控制符,并在统计里告诉你一共删了几个。关键的例外是零宽连接符(U+200D):一家三口那种组合 emoji 其实是三个人物符号用两个零宽连接符粘起来的,删掉就散成三个;所以只有当它两侧至少有一侧不是 emoji 时才删,表示彩色显示的变体选择符 U+FE0F 也一律保留,彩虹旗不会退化成黑白旗。
全角空格转半角和普通空格有什么区别
全角空格(U+3000)宽度相当于一个汉字,通常由中文输入法、Word 排版或老文档带出来;不换行空格(U+00A0)看着和普通半角空格一样,但不会在它这里折行,多半来自网页的  。它们和半角空格是完全不同的字符,很多程序、Excel 公式和查找替换都识别不出来,于是出现「明明删了空格还是对不齐」的情况。本工具默认开启「全角空格、不换行空格归一为半角空格」,做的就是全角空格转半角:把它们连同各种窄空格一起换成普通半角空格,再参与后面的去行尾、合并连续空格等步骤;关掉这个开关它们就会原样保留,也不会被「合并连续空格」处理到。要注意本页只归一空白字符,全角的数字、字母、标点不在此列——那属于字符宽度转换,请用全角半角转换那一页。
合并多个空格为一个会影响Tab表格吗
默认不会。打开「合并行内连续空格为 1 个」后,这一步做的就是合并多个空格为一个:行内连续的半角空格被压成一个(全角空格会先被归一成半角,所以也一并生效),而 Tab 一个都不动——从 Excel 复制出来的 TSV 数据、用 Tab 对齐的表格列都不会错位。只有当你额外勾上子选项「连 Tab 一起合并」时才会把连续 Tab 压成一个,届时统计条会提示你「已合并 Tab,若这是表格数据请关闭该选项」。如果要的是把整行空格全删(比如拼接编号、清洗单列数据),用「删除行内全部空格与 Tab」,它与「合并连续空格」互斥,勾一个另一个会自动取消。
代码行尾空格清理会不会把缩进也删掉
默认不会。「去每行行首空格(缩进)」默认是关闭的,就是为了保护 Python、YAML、JSON 与 Markdown 列表的缩进——这类文本的缩进有语义,删了就跑不起来。只有你主动打开这个开关,才会执行删除行首空格这一步,而且开关旁常驻风险提示,清理后统计条还会高亮告诉你「已清除 N 行的行首缩进」。做代码行尾空格清理建议直接用「代码 / 缩进敏感」预设:它只去行尾空白、只压多余空行,行首、Tab 和全角空格一律不动,正好对上代码评审里那一片行尾空白告警。要做的是代码格式化(缩进宽度重排、Tab 与空格互转)请用 JSON 格式化或 SQL 格式化这类专门工具,本页只做空白清理。
清理Markdown文本的空格要注意什么
Markdown 里行尾的两个空格表示强制换行,而「去每行行尾空格」默认是开着的,会把它清掉,原本的换行就会变成同一段。想保住这种硬换行只有一个办法:手动把「去每行行尾空格」关掉,只做空行合并与隐形字符清理。注意「代码 / 缩进敏感」预设替代不了这一步——它不碰行首缩进、Tab 与全角空格,但同样会去行尾空白,选了预设仍要再把这个开关关掉。行首这边不用担心:「去每行行首空格(缩进)」默认就是关的,列表、引用与代码块的缩进层级不会乱。另外 Markdown 代码块里的空行和缩进都有意义,如果正文里有大段代码块,建议先把代码块单独拿出来,再清理其余部分。
Excel粘贴过来有空格怎么批量清理
从 Excel 粘贴过来的文本一般混着三类空白:单元格里本来就带的行首行尾空格(多是导入时留下的)、用空格凑出来的对齐,以及单元格之间的 Tab 分隔符——粘进文本框后,每行的列就是用 Tab 隔开的。对应做法是:用默认开着的「去每行行尾空格」,再按需打开「去每行行首空格」,清掉单元格内的两端空白;要压掉一格里的多余空格就开「合并行内连续空格为 1 个」,它只合并半角空格、不动 Tab,列不会错位;但千万别勾「连 Tab 一起合并」,那会把空单元格产生的连续 Tab 压成一个,整行的列会集体左移。清理完整列复制回 Excel 即可。顺带一提,Excel 自带的 TRIM 只认半角空格(CHAR(32)),网页粘过来的不换行空格 CHAR(160)、中文输入法带出来的全角空格、以及零宽空格它都不认,看着执行了却一个没删——这正是很多人在 Excel 里怎么都清不干净、最后绕到本页来的原因。
txt删除空行后中文乱码怎么办
本页按 UTF-8 读取拖入的文件,支持 .txt / .md / .csv / .log / .srt / .json / .sql,单个文件 10 MB 以内。如果文件是 GBK / ANSI 编码(Windows 记事本的老「ANSI」默认编码最常见),解码后会出现大量替换字符,工具会直接拒绝载入并提示「该文件不是 UTF-8 纯文本,请另存为 UTF-8 后重试」,不会让你对着一屏乱码做清理。两个解决办法:一是用记事本或 VS Code 打开后「另存为」时把编码选成 UTF-8,再拖进来;二是干脆打开文件全选复制、粘进上面的文本框——剪贴板里已经是解码好的文字,跟文件编码无关,这也是最快的路子。下载结果时默认带 UTF-8 BOM,用 Windows 记事本或 Excel 打开都不会乱码;如果你的原文开头本来就有 BOM,统计条会告诉你「已剥离文件开头的 BOM」。
手机上怎么免费在线去空行空格要装软件吗
完全免费、无需注册、不加水印,也不必安装任何 App 或插件:用手机浏览器(含微信内置浏览器)直接打开本页,长按输入框粘贴文字就能清理。预设下拉框和各个开关在窄屏下会纵向排列、可以正常点选,结果区的复制与下载按钮会自动换行不会挤在一起。清理照样在手机本地完成,文字不上传。手机上不方便拖文件时,最省事的做法是从微信、备忘录或文档里全选复制,直接粘进来处理完再复制回去。
去空行空格最多能清理多少文字会改坏原文吗
建议在 10 MB 或 100 万行以内。2 万行以下会在你输入或改参数后自动实时清理,不用点按钮;超过 2 万行会切换成「点开始清理 + 进度条」模式,计算分片进行、可随时取消,不会让浏览器假死。超过 100 万行时只处理前 100 万行并明确提示已处理的行数,不会静默丢内容;结果超过 5000 行时预览区只显示前 5000 行(同样有提示),但复制和下载拿到的都是完整结果。安全性方面:清理只删除空白与格式类隐形字符,任何可见文字都不会被改动;破坏性较大的开关(去行首缩进、删除全部空格、连 Tab 一起合并)默认全部关闭,「用结果替换输入」之后还可以点「撤销本次清理」回到上一版。
去空行空格和文本处理工具箱有什么区别
文本处理工具箱是多功能页,「删除空行」和「去除首尾空格」只是下拉框里的两个固定动作:空行判定只看这一行 trim 之后是不是空的,所以含零宽空格的假空行删不掉,行首行尾也只能一起处理。本页是空白清理专项页:空行可以删光、合并成 N 个或原样保留,行首行尾分别开关,能合并连续空格、删掉汉字之间的空格、清除零宽空格等隐形字符与全角空格,还会逐项统计删了多少、支持空白字符可视化预览。如果你要的是去重、排序、大小写转换或字数统计,去工具箱那一页更合适,两页可以配合使用。

空行删不掉怎么办:五种常见原因逐条拆

「看起来明明是空行,怎么都删不掉」是这类需求里最常见的问题。原因几乎都不是工具坏了, 而是那一行里有你看不见的东西。本工具的处理顺序固定为先清隐形字符 → 再把全角空白归一成半角 → 然后切行做行内清理 → 最后才判断空行, 就是为了让下面这些情况都能被正确识别:

  • 那一行里其实有空格或 Tab用默认的「含空格/Tab/隐形字符的行也算空行」判定口径,肉眼看着空的行就会被当成空行删掉。
  • 那一行里藏着一个零宽空格本工具默认先清除零宽空格、BOM 等隐形字符,然后才判断空行——顺序反了这行就永远删不掉。
  • 那一行是一个全角空格全角空格有一个汉字宽,很多程序不认。本工具默认先把它归一成半角空格,再判定空行。
  • 空行其实是段落分隔,全删反而更难读用「合并连续空行」把保留个数设为 1,段落还在,多余的连续空行被压掉。
  • 内容还在 Word / PDF 里,删的是「空段落」先复制成纯文本粘进本页再清理;Word 的空段落属于文档结构,纯文本工具看不到它。

顺序为什么重要:如果先判空行再清隐形字符,一行里躺着一个零宽空格就会被当成「有内容的行」保留下来, 清完隐形字符它又变成了一个空行——这正是很多工具「删了一遍还有空行」的原因。 需要相反操作(给文案加空行、加 emoji 做小红书排版)请用 小红书排版;要删的是重复的行而不是空行,请用 文本去重;只想重排顺序请用 文本排序

零宽空格等看不见的字符怎么清除

把文字粘进上面的输入框就会自动清除——本工具默认删除零宽空格、BOM、软连字符、方向控制符这类 格式字符,并把全角空格、不换行空格归一成普通半角空格,删了几个都会记在统计条里。 它们肉眼完全看不见(或看着像空格却不是空格),却会让搜索匹配不上、去重去不掉、数据导入报错:

字符码点长什么样常见来源本工具怎么处理
零宽空格U+200B完全看不见,宽度为零网页复制、部分编辑器与在线文档删除并计数
不换行空格U+00A0看着像空格,但不会在这里折行HTML 的  、从网页复制的正文归一为半角空格,再参与后续清理
全角空格U+3000有一个汉字那么宽中文输入法、Word 排版、老文档归一为半角空格
字节序标记 BOMU+FEFF看不见,通常躲在文件最开头记事本另存为 UTF-8、部分导出程序剥离并在统计里说明
软连字符U+00AD看不见,只在断行处才显形PDF、排版软件的自动断词删除并计数
方向控制符U+202A–U+202E看不见,会让后面的文字倒着显示双向文字排版,也被用来伪装文件名删除并计数
零宽连接符U+200D看不见,负责把两个 emoji 粘成一个👨‍👩‍👧、🏳️‍🌈 这类组合 emoji在 emoji 之间时保护不删,其余位置删除

最后一行是关键的例外:零宽连接符不能无脑删。 👨‍👩‍👧 其实是三个人物 emoji 用两个零宽连接符粘起来的,删掉连接符就会散成三个人; 🏳️‍🌈 还额外带一个变体选择符 U+FE0F,删掉它彩虹旗会退化成黑白旗。 本工具只在零宽连接符两侧至少有一侧不是 emoji 时才删除它,变体选择符一律保留。 想知道清理前后到底差多少字,可以把结果丢给 字数统计, 或者用 文本对比 逐行看清理前后的差异。

从 PDF / OCR 复制的中文为什么每个字都带空格

PDF 并不存「一句话」,它存的是「哪个字形画在页面的哪个坐标上」。复制时阅读器要反推哪些字属于同一个词, 中文没有词间空格,很多阅读器就按字形间距把每个汉字都判成独立单元,于是粘出来变成「从 P D F 复 制 的 正 文」。 OCR 更直接:识别引擎本来就是按单字切分的,输出时逐字之间自然带上分隔,所以「OCR 识别文字空格太多」 几乎是必然结果,而不是识别出了错。 老版 Word 文档、部分网页正文里的「字字空格」也是同一类成因。

本工具的处理规则很克制:只删汉字、假名、谚文与全角标点彼此之间的空格, 英文词之间的空格绝不动(否则 Hello World 会被粘成 HelloWorld), 中文与英文、数字之间的空格默认也保留——那是很多人有意加的「盘古之白」, 需要一起删时再勾子选项即可。配合「复制自 PDF / OCR」预设,还会同时合并连续空格、去掉两端空白、 把全角空格归一成半角,一步到位。

有一件事本工具明确不做:不会自动把 PDF 里被硬拆成很多行的段落重新拼回去。 判断哪一处换行该合并需要猜语义(中文没有连字符、英文有断词、列表项不能合),猜错就是毁原文, 所以 v1 只做「空白清理」这件确定的事。需要中文简繁统一的可以先过一遍 简繁转换,需要更多文本操作(大小写转换、加行号等)请用 文本处理工具箱。 还有一种情况本页不是最佳选择:如果你只想把全角空格、全角数字字母换成半角,不希望顺带删空行、合并空格,请用 全角半角转换—— 本页的全角空格归一只是空白清理流水线的一步,那一页则是可分类、可反向的字符宽度专项工具。

去空行空格前后差多少字符?一个可对照的算例

拿一行从网页复制来的文字算一遍:你·好·世·界·(这里的 · 代表一个半角空格,末尾还跟着一个宽度为零的零宽空格 U+200B)。 它一共是 9 个字符——4 个汉字、4 个半角空格、1 个零宽空格。同一行文字, 开关不同结果差得很远:

  • 默认设置:9 → 7 个字符。零宽空格被清掉(统计条记 1 个隐形字符), 行尾那个空格随之被去掉(记 1 处行尾空格),汉字之间的 3 个空格默认原样保留, 结果是 你·好·世·界
  • 换成「复制自 PDF / OCR」预设:9 → 4 个字符。汉字之间的 3 个空格一并删掉(记 3 处汉字间空格),结果是 你好世界
  • 把「清除隐形字符」关掉:9 个字符一个不少。因为这一行的最后一个字符是零宽空格而不是空格,「去行尾空格」够不到它前面那个空格, 两个空白就都留下了。

第三种情况就是处理顺序的价值:隐形字符不先清掉,后面的空白清理会被它挡住。 这也是统计条要分项列的原因——同样是「少了几个字符」,背后可能是完全不同的两类清理动作, 分项台账才看得出这次到底动了什么。

去空行空格还有哪些叫法与英文名

同一件事在搜索框里有十来种写法,落到本页其实是不同的开关。 下表把常见叫法对到具体操作,省得你在设置面板里来回试:

常见叫法这么搜的人通常想做什么在本页怎么做
去空行 / 去空格笼统地想把一段文字收拾干净空行按「删光 / 合并 / 保留」三选一,空格分行首、行尾、行内三处分别开关
一键删除空行 / 批量删除空行整篇的空行一次清光,不想逐行删「空行怎么处理」选「删除全部空行」,粘进去即出结果,统计条报删了几个
去除多余空格 / 去掉多余的空格行内挤了好几个空格,想压成一个打开「合并行内连续空格为 1 个」;Tab 默认不动,用 Tab 对齐的表格不会错位
去掉文字中间多余的空格汉字与汉字之间莫名多出来的空格打开「删除汉字之间的空格」,英文词之间的空格不受影响
清理空白 / 空白字符清理空行、缩进、行尾、隐形字符想一起收拾先用预设定个基调,再逐个开关微调,最后照统计条核对这次动了哪几处
免费去空行工具先确认要不要付费、注册、加水印免费、无需注册、不限次数,结果不加水印,也不用装插件

英文语境下这类工具通常叫 whitespace cleaner,按诉求细分则有 remove blank lines online、remove empty lines(删空行)、remove extra spaces(压掉行内多余空格)、trim whitespace(去两端空白)、strip zero width space(清零宽字符)这些叫法, 搜哪一个找到的都是同一件事。但有两点差别值得先知道: 一是英文里的 trim 通常只指去掉一行或整段两端的空白、不含行内合并, 对应到本页是「去每行行首/行尾空格」而不是「合并行内连续空格」; 二是英文站的清理规则基本按「空格分词」设计,一般不处理汉字之间的空格, 也很少把全角空格 U+3000 归一成半角—— 而这两件事恰恰是中文文本里最常见的脏数据,本页默认都做。