在线删除重复行 · 免费文本去重工具 | DedupeLines
We noticed your browser language is English. Switch to the English version? Switch to English
DedupeLines
免费 · 无需注册 浏览器本地处理 · 零上传 · 10 万行内实时预览

在线删除重复行

粘贴任意列表。切换 4 个开关。输出保留你想要的顺序、大小写和空白。为追求落地的数据团队打造。

输入 · 0 行
输出 · 0 行
在左侧粘贴内容 — 结果会实时出现在这里。

或按 Ctrl+Enter

输入行数 0
空行数 0
重复组数 0
已删除 0
唯一剩余0

大家都在这里清洗什么

04 — 使用场景
01 / 邮件列表

清洗 CRM、Mailchimp、HubSpot 的导出文件再导入下游系统 — 不会打乱原有的列顺序。

02 / SEO 关键词

审计大型关键词表,在上线前找出跨广告组重复的词。

03 / 数据库导入

INSERT 之前从 CSV / TSV 清除重复行 — 大小写无关、忽略首尾空白,最大 80 MB。

04 / 日志整理

把重复的堆栈和噪声日志合并成一份干净、便于浏览的清单。

使用方法

三个步骤
  1. 01

    粘贴列表或上传 .txt

    桌面端 10 万行 / 移动端 5K 行内可实时预览。更大的输入会自动切换到大文件模式 —— 同一处理引擎,页面保持响应,直接生成 .txt 文件下载。

  2. 02

    切换四个开关

    大小写:是否把 ABC 和 abc 视为相同;首尾空白:比较时忽略行首行尾空白;空行:丢弃所有空行;随机打乱:去重后将输出顺序随机打乱。

  3. 03

    点击执行

    重复行合并为一行,保留第一次出现的那一行。输出卡片显示清洗后的列表,按原始顺序排列。

引擎内部

工程笔记
算法
O(n) 哈希表去重 · Object.create(null) 无原型链映射

总复杂度 O(n + u log u + s log s),其中 n = 输入行、u = 唯一行、s = 输出长度。早期版本在逐行循环里调用 Object.keys(freqMap).length —— O(n²),156K 行要跑 5 分钟。现在的实现处理同样输入约 500 ms。

阈值切换
桌面端:2 MB / 10 万行 · 移动端:300 KB / 5K 行 · 硬上限:80 MB

超过实时阈值后输入不进 textarea(浏览器原生 word-wrap 在插入时是 O(n))—— 处理改走 Web Worker,页面保持响应,结果以 .txt 文件下载。

原序保留
去重那一遍同时记录每行的首次出现索引

Excel 的「删除重复项」和 Google Sheets 的 UNIQUE() 都会在底层重新排列列序;我们默认保留输入的原始顺序。想要随机顺序的话,打开「随机打乱」开关用 Fisher-Yates 算法随机重排即可。

隐私与限制

数据留在哪里

一切都在浏览器内运行。你粘贴的列表永远不会上传 —— 页面对你的数据零网络请求,统计层也看不到你输入的内容。页面加载后断网工具照样可用。单次硬上限 80 MB,避免误将几 GB 日志粘入导致标签页卡死。

常见问题

问答

不区分大小写去重时,输出也会变成小写吗?

不会。大小写开关只影响比较 —— "Apple" 和 "APPLE" 会被视为重复,只保留第一个,但保留的那一行依然保持原始大小写。输出绝不会被强制转为小写。

能保留每组重复的「最后一次出现」而不是「第一次」吗?

可以 —— 把两个工具串起来。先把输入粘贴到「倒序行」工具反转,再把反转后的列表粘到去重工具;如需回到原始方向,最后再倒序一次即可。两步都在本地完成,零上传。

跟 Excel 的「删除重复项」有什么区别?

三点差异:(1) 我们在浏览器内处理 —— 从任意来源粘贴,无需打开 Excel;(2) 我们严格保留你的大小写和空白,Excel 有时会自动「规范化」单元格内容;(3) Excel 的「删除重复项」常会在内部重新排序整列,我们默认保留原始顺序。

能处理含引号字段(字段内带逗号)的 CSV 吗?

每一行作为单个字符串参与比较 —— 含逗号的引号字段会作为整行的一部分匹配。如果你需要按列去重("删除 B 列相同的行"),这个工具不适合;用 Google Sheets 的 UNIQUE() 或 Power Query 步骤更合适。

文件大小上限多少?

单次硬上限 80 MB。桌面端 2 MB(移动端 300 KB)以上工具自动切换到大文件模式 —— 文本不进 textarea,处理由 Web Worker 完成,结果以 .txt 下载而不是渲染在输出卡片里。

我的数据会被发送到任何地方吗?

不会。一切都在你的浏览器标签内进行——没有上传步骤,统计层也不会看到你粘贴的内容。加载后断 WiFi,工具仍能正常工作。