🔍 So sánh văn bản (diff & merge)

Kiểu WinMerge nhưng gọn trong 1 file HTML — dán hai văn bản hoặc mở file, xem khác biệt từng dòng/từng từ, chép từng khối giữa hai bên để hợp nhất, rồi xuất .diff hoặc báo cáo HTML. Mọi xử lý chạy ngay trên máy bạn.

1 Nhập hai văn bản
A · Bản gốc 0 dòng
B · Bản mới 0 dòng
Chưa có gì để so sánh.
  1. Dán văn bản vào ô AB (hoặc bấm 📂 Mở file… / kéo–thả file .txt, .md, .csv, mã nguồn…).
  2. Bấm So sánh → — dòng xóa tô đỏ bên A, dòng thêm tô xanh bên B, phần đổi trong dòng được tô đậm hơn.
  3. Dùng nút / giữa hai cột để chép từng khối từ A sang B hoặc ngược lại (hợp nhất như WinMerge).

? Mẹo, phím tắt & thuật toán
Thao tácCách dùng
Nhảy giữa các khối khác nhauNút ‹ › trên thanh công cụ hoặc Alt+/
Hợp nhất (merge) chép khối của A đè sang B · chép khối của B đè sang A. Sai thì bấm Hoàn tác (hoặc Ctrl+Z ngoài ô nhập). Xong thì Xuất → Tải văn bản A/B.
So sánh không phân biệt hoa thường / khoảng trắngBật tuỳ chọn trước khi so sánh — hai dòng chỉ khác khoảng trắng/hoa thường sẽ được coi là giống nhau.
File .diff dùng để làm gì?Đúng chuẩn unified diff: dán vào email/chat để người khác xem thay đổi, hoặc áp dụng bằng lệnh git apply / patch -p0.
Giới hạnSo sánh theo dòng tốt nhất dưới ~50.000 dòng mỗi bên; file quá lớn sẽ tự tắt tô màu trong dòng để giữ mượt. Đọc file theo UTF-8 (tự nhận UTF-16 có BOM).
Thuật toánPatience diff (neo theo dòng duy nhất chung) + LCS cho từng đoạn; trong dòng dùng LCS theo từ — giống cách git và các trình diff hiện đại hiển thị.

Toàn bộ chạy bằng JavaScript trong trang này — không có máy chủ, không gửi dữ liệu đi đâu. Tắt mạng vẫn dùng được.

🔒 100% xử lý tại chỗ · Thuật toán patience diff + LCS · Hỗ trợ việc so văn bản, tài liệu, mã nguồn, CSV · 2026