So sánh hai đoạn văn bản (diff) online miễn phí
So sánh hai đoạn văn bản theo dòng, từ, ký tự, câu hoặc JSON; nhận danh sách thay đổi, tỉ lệ giống nhau và bản diff dạng unified.
Kết quả
Bấm “Chạy” để xem kết quả.
Gửi văn bản gốc qua a (hoặc old) và văn bản mới qua b (hoặc new). API trả về danh sách changes (mỗi phần là added, removed hoặc unchanged kèm nội dung), stats gồm số lượng thêm, xoá, giữ nguyên, tỉ lệ similarity (%) và identical khi không có thay đổi.
Chọn mức so sánh bằng mode: lines (mặc định, đếm theo dòng và trả thêm bản unified giống git diff), words, chars, sentences, hoặc json để so sánh cấu trúc hai tài liệu JSON sau khi định dạng lại. ignore_case và ignore_whitespace giúp bỏ qua khác biệt hoa thường và khoảng trắng. Với các mode khác, unified=true sẽ thêm bản patch; a_name, b_name và context (0-50 dòng, mặc định 3) điều chỉnh tiêu đề và số dòng ngữ cảnh.
Tổng độ dài hai văn bản tối đa 2.000.000 ký tự (body request tối đa 4 MB).
Dùng trong code của bạn
curl -X POST "https://apibox.io.vn/v1/text-diff" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"a":"one\ntwo\nthree","b":"one\n2\nthree\nfour"}'const res = await fetch('https://apibox.io.vn/v1/text-diff', {
method: 'POST',
headers: {
Authorization: 'Bearer YOUR_API_KEY',
'Content-Type': 'application/json',
},
body: JSON.stringify({
"a": "one\ntwo\nthree",
"b": "one\n2\nthree\nfour"
}),
});
const data = await res.json();
console.log(data);import requests
res = requests.post(
"https://apibox.io.vn/v1/text-diff",
headers={"Authorization": "Bearer YOUR_API_KEY"},
json={"a": "one\ntwo\nthree", "b": "one\n2\nthree\nfour"},
timeout=30,
)
print(res.json())<?php
$ch = curl_init('https://apibox.io.vn/v1/text-diff');
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_HTTPHEADER => ['Authorization: Bearer YOUR_API_KEY', 'Content-Type: application/json'],
CURLOPT_POSTFIELDS => '{"a":"one\\ntwo\\nthree","b":"one\\n2\\nthree\\nfour"}',
]);
$response = curl_exec($ch);
print_r(json_decode($response, true));Tài liệu API → Nhận API key miễn phí
Hỏi đáp
Có lấy được bản diff kiểu git không?
Có. Ở mode mặc định lines, trường unified luôn chứa bản patch; với các mode khác hãy thêm unified=true.
Làm sao so sánh hai object JSON?
Dùng mode=json và gửi hai tài liệu dạng chuỗi JSON trong a và b. Chúng được định dạng lại rồi so sánh theo dòng, nên khác biệt về cách trình bày bị bỏ qua.
Tỉ lệ giống nhau được tính thế nào?
Bằng số đơn vị giữ nguyên chia cho tổng số giữ nguyên cộng với số lớn hơn giữa thêm và xoá, tính theo %. Đơn vị là dòng ở mode lines/json, ký tự ở các mode khác.