文本差异对比
输入两段文字,高亮显示新增、删除和修改内容。支持文件导入和报告导出,所有处理在浏览器本地完成。
全程本地处理,不会上传原始文本
修改后的文本
什么是文本差异对比?
文本差异对比是一款免费在线工具,可以比较两段文字并高亮显示它们之间的新增、删除和修改内容。支持按字符、按单词和按行三种比较方式。所有处理完全在浏览器本地进行,文本内容不会上传到任何服务器。
如何使用
- 在左侧输入区域粘贴或输入原始文本,在右侧输入区域粘贴或输入修改后的文本。
- 也可以点击导入按钮或直接拖入文本文件到对应的输入区域。
- 选择比较模式:自动、按行、按单词或按字符。
- 根据需要调整比较选项,如忽略大小写、忽略空格等。
- 点击「开始比较」按钮,在下方结果区域查看高亮的差异内容。
- 使用导航按钮跳转到不同差异位置,或将结果导出为HTML、TXT或补丁文件。
字符、单词和行比较的区别
按字符比较逐个检查每个字符,适合短文本和查找细微修改。按单词比较按词分割文本,适合文章、合同和普通文本。按行比较逐行工作,适合代码、配置文件、日志和结构化文本。自动模式会根据文本长度和结构选择最合适的比较方式。
并排视图与合并视图
并排视图在左侧显示原始文本,右侧显示修改后文本,对齐相同内容便于比较。合并视图将两段文本合并为一个列表,删除内容用减号标记,新增内容用加号标记,类似于Git等版本控制系统使用的格式。
忽略空格和空行的影响
你可以选择忽略大小写差异、空格变化、空行、标点和数字。启用忽略选项后,比较时使用标准化文本,但显示时保留原始文本,因此输入内容不会被永久修改。如果启用忽略选项后没有显示差异,说明两段文本仅在你选择忽略的方面有所不同。
支持的文件格式
你可以导入任何纯文本文件,包括TXT、MD、CSV、TSV、JSON、XML、HTML、CSS、JavaScript、TypeScript、LOG、YAML、SQL和其他基于文本的格式。文件通过浏览器File API读取,不会上传。建议最大文件大小为10MB。
使用场景
本工具适用于比较文章修改、审查合同变更、检查代码和配置差异、验证翻译更新、分析日志变化、检查复制内容是否有修改、比较Markdown或JSON文件,以及编辑前后的文本审查。
差异算法说明
本工具使用jsdiff库实现的Myers差异算法。它通过计算最长公共子序列来找出两段文本之间的最少修改次数。对于几百KB以内的文本,算法效率很高。对于非常大的文本,建议使用按行比较模式。
数据与隐私
所有文本比较完全在浏览器中进行。文本内容、文件名和比较结果不会发送到任何服务器。数据不会存储在localStorage或Cookie中。关闭页面后,所有临时数据会立即释放。分析统计不会包含你的文本内容。
功能限制
超过1MB的超大文件可能导致浏览器响应变慢。按字符比较不建议用于超过几千字符的文本。无法比较二进制文件。工具不支持同时比较两段以上的文本。对于超大文件,建议使用专业的命令行diff工具。
常见问题
输入的文本会上传服务器吗?
不会。所有文本处理完全在浏览器本地进行,不会上传到任何服务器。
字符、单词和行比较有什么区别?
按字符比较逐个检查每个字符。按单词比较按词分割文本。按行比较逐行工作。根据你的文本类型和需要的详细程度选择。
如何忽略大小写?
在比较选项中勾选「忽略大小写」。比较时会将大写和小写字母视为相同。
如何忽略空格和空行?
启用「忽略空格」将连续空格视为一个。启用「忽略空行」在比较时跳过空行。
支持哪些文本文件?
你可以导入TXT、MD、CSV、TSV、JSON、XML、HTML、CSS、JS、TS、LOG、YAML、SQL等纯文本文件,最大10MB。
可以比较代码吗?
可以。按行比较模式非常适合代码。你可以直接导入代码文件,逐行查看高亮的变更和行内单词级别的差异。
可以比较中文、日文和韩文吗?
可以。工具在浏览器支持时使用Intl.Segmenter对中日韩语言进行正确的分词处理。
为什么启用忽略选项后显示没有差异?
这说明两段文本仅在你选择忽略的方面有所不同,比如大小写、空格或空行。原始内容不会被修改。
如何导出比较报告?
你可以导出为自包含的HTML报告、纯文本报告或Unified Diff补丁文件。也可以复制特定的新增、删除内容或统一差异到剪贴板。
可以比较多大的文件?
建议每个文件最大10MB。100KB以下的文本实时比较。更大的文本可能需要防抖或手动点击比较。
HTML报告是否包含原始文本?
是的。导出的HTML报告是自包含的,包含所有差异结果和内嵌CSS样式。可以在任何浏览器中离线打开。
手机浏览器可以使用吗?
可以。工具完全响应式,在手机浏览器上正常工作。输入区域在小屏幕上垂直排列,建议使用合并视图。