Langsung ke konten

Bandingkan dua teks

Tempel kedua versi dan lihat persis apa yang berubah, berdampingan, hingga ke tiap kata. Algoritma yang sama dengan yang dipakai git — bukan tebakan baris per baris yang berantakan begitu Anda menambah satu baris.

  • Tidak pernah disimpan
  • Tanpa antre, tanpa menunggu
  • Tanpa daftar, tanpa watermark
Tampilan

Cara kerjanya

1

Tempel kedua versi

Versi asli di kiri, versi baru di kanan. Atau letakkan dua file.

2

Baca perbedaannya

Baris yang ditambahkan, dihapus, dan diubah diberi tanda, dan di dalam baris yang diubah, kata-kata yang berbeda disorot persis.

3

Abaikan yang tidak penting

Huruf besar/kecil, spasi, dan baris kosong masing-masing bisa diabaikan — dan halaman ini memberi tahu Anda jika hanya karena itulah dua teks cocok.

Apa yang dianggap sebagai baris yang sama

Perbandingan dilakukan pada sebuah kunci, bukan pada baris itu sendiri. Setiap baris diringkas menjadi kunci sesuai opsi “Abaikan” yang aktif, diff dijalankan atas kunci-kunci itu, dan yang ditampilkan kepada Anda selalu teks asli Anda — jadi mengaktifkan “Abaikan huruf besar/kecil” mengubah baris mana yang cocok tanpa mengubah satu karakter pun dari yang ditampilkan. Ada dua opsi spasi yang terpisah, dan perbedaannya lebih besar daripada yang tersirat dari labelnya: yang satu memangkas ujung baris, yang lain lebih dulu meringkas deretan spasi dan tab menjadi satu spasi lalu memangkasnya. Keduanya tidak menghapus spasi sepenuhnya, dan peringkasan hanya mencari spasi dan tab biasa, jadi spasi ideografis atau non-breaking space di tengah baris dibiarkan dan tetap terhitung sebagai perbedaan.

Mengabaikan baris kosong adalah opsi dengan konsekuensi yang jarang disebut: baris kosong dihapus sebelum perbandingan dijalankan, sehingga nomor baris di samping hasil hanya menghitung baris yang tersisa, dan tidak lagi cocok dengan nomor baris di file Anda. Jika opsi ini nonaktif, nomornya cocok persis. Sorotan tingkat kata di dalam baris yang diubah hanya mengikuti pengaturan huruf besar/kecil — opsi spasi tidak menjangkaunya, jadi perbedaan spasi di dalam baris yang berubah karena alasan lain tetap ditandai sebagai perubahan.

Hasil yang bisa disalin adalah unified diff dalam segala hal yang penting untuk membacanya — dua header file, baris minus, baris plus, tiga baris konteks di sekitar setiap perubahan — dengan satu pengecualian yang perlu diketahui sebelum Anda mengandalkannya. Penanda hunk-nya tidak memuat rentang baris, jadi hasil ini dibuat untuk laporan bug, komentar code review, atau email, dan perintah patch maupun git apply akan menolaknya. Jika yang Anda perlukan adalah sesuatu untuk diterapkan, bukan untuk dibaca, buatlah dengan git.

Jika Anda butuh hal lain

Format terstruktur buruk jika dibandingkan sebagai baris, dan kegagalannya mencolok, bukan halus: dua dokumen JSON yang hanya berbeda urutan key-nya, atau dua CSV dengan satu kolom yang dipindah, menghasilkan dinding perubahan yang tidak memberi tahu apa pun. Bandingkan dengan alat yang memahami strukturnya — urutkan dulu key kedua file JSON lalu bandingkan hasilnya, atau gunakan daff, yang membandingkan CSV sebagai baris dan kolom dan akan memberi tahu bahwa sebuah kolom dipindah, bukan bahwa setiap baris berubah.

Dua direktori, atau dua titik dalam riwayat sebuah repositori, adalah urusan git, bukan halaman ini. Dan untuk tulisan yang paragrafnya sudah di-wrap ulang, tampilan berbasis baris sama sekali bukan tingkat detail yang tepat — git diff --word-diff mengabaikan letak jeda baris dan hanya menunjukkan kata-kata yang berpindah, yaitu perbandingan yang sebenarnya Anda inginkan saat sebuah dokumen ditata ulang.

Pertanyaan yang sering diajukan

Apakah dokumen saya disimpan di suatu tempat?

Tidak. Tidak ada yang disimpan dan tidak ada permintaan yang dikirim, dan alat ini tetap berfungsi saat jaringan terputus. Untuk teks, hal ini lebih penting daripada kelihatannya: yang ditempel orang ke alat online adalah tulisan yang belum terbit, draf hukum, tugas siswa, dan dokumen internal. Untuk membandingkan dua versi kontrak atau draf, justru itulah intinya.

Mengapa ini lebih baik daripada membandingkan baris per baris?

Karena penelusuran baris per baris langsung kacau begitu ada yang bergeser. Tambahkan satu baris di awal file, dan setiap baris di bawahnya kini berada di posisi berbeda, sehingga perbandingan naif melaporkan seluruh dokumen berubah — yang sama sekali tidak berguna. Alat ini memakai algoritma Myers, yang ada di balik git diff dan diff(1), yang menemukan kumpulan penyisipan dan penghapusan terkecil untuk mengubah satu teks menjadi teks lainnya. Tambahkan satu baris di awal, dan hasilnya satu baris yang ditambahkan.

Bisakah alat ini menunjukkan kata yang berubah, bukan hanya barisnya?

Bisa. Jika sebuah baris diedit, bukan ditambah atau dihapus, baris itu dibandingkan lagi kata demi kata dan hanya kata yang benar-benar berubah yang disorot. Pada paragraf panjang tempat seseorang mengubah tiga kata, Anda melihat tiga kata, bukan dinding warna.

Apa fungsi opsi “Abaikan”?

Opsi itu mengubah apa yang dianggap sebagai baris yang sama. Mengabaikan huruf besar/kecil, spasi, atau baris kosong berguna saat membandingkan kode yang diformat ulang atau teks yang ditempel ulang. Satu detail penting: jika dua teks cocok HANYA karena ada yang diabaikan, halaman ini menyatakannya secara eksplisit alih-alih melaporkannya sebagai identik — “identik” dan “identik jika huruf besar/kecil diabaikan” adalah dua fakta berbeda, dan mencampuradukkannya adalah cara seseorang merilis file yang dikiranya tidak berubah.

Bisakah saya mendapatkan hasilnya sebagai patch?

Bisa — perbandingan bisa disalin sebagai unified diff, format yang sama dengan yang dipakai git dan patch lewat email, dengan beberapa baris konteks di sekitar setiap perubahan. Itulah format yang tepat untuk ditempel ke laporan bug.

Apakah ada batas ukuran?

Batasnya memori yang tersedia, bukan ukuran tetap. Membandingkan dua dokumen panjang tetap cepat karena bagian awal dan akhir yang identik dicocokkan dan dilewati sebelum pekerjaan sebenarnya dimulai. Dua teks yang berbeda di ribuan tempat terpisah akan ditolak dengan penjelasan alih-alih membekukan tab — diff sebesar itu toh tidak bisa dibaca.

Bisakah alat ini membandingkan file Word atau PDF?

Tidak secara langsung. Ubah dulu menjadi teks — alat [PDF ke Teks](pdf-to-text) dan [DOCX ke TXT](docx-to-txt) kami melakukan persis itu — lalu tempel hasilnya di sini.

Perlu diketahui: Perbandingan dibatasi hingga 8.000 perbedaan. Di atas itu, beban algoritmanya naik begitu cepat hingga bisa membekukan tab, jadi halaman ini berhenti dan memberi tahu Anda alih-alih macet — dua dokumen yang benar-benar tidak berhubungan cepat mencapai batas ini. Membandingkan dua versi dari file yang sama hampir tidak pernah.

Pasang alat ini di situs Anda

Gratis untuk blog, halaman kelas, atau artikel bantuan apa pun. Tempel satu potong kode dan pengunjung Anda bisa langsung memakainya di halaman Anda.