Skip to content
Pembanding Teks (Diff)
Tools

Pembanding Teks (Diff)

Baru

Bandingkan dua teks dan soroti setiap perbedaan, berdampingan atau sebaris.

100% private. Your text is compared entirely in your browser — nothing is ever uploaded, so you can safely diff confidential code, contracts or data.
View
Highlight

Paste or drop text into both boxes to see the difference.

Runs entirely in your browser. Nothing is uploaded.

Bandingkan dua teks dan temukan setiap perbedaan

Diff checker ini membandingkan dua blok teks dan menunjukkan dengan tepat apa yang berubah — teks yang dihapus berwarna merah, teks yang ditambahkan berwarna hijau, dan baris yang diedit ditandai kata per kata — sehingga Anda dapat meninjau perubahan dalam sekali pandang. Tempelkan versi asli dan versi yang diubah ke dua kotak yang tersedia, dan perbandingan diperbarui secara instan, tanpa tombol Compare dan tanpa menunggu. Alat ini bekerja untuk prosa, kode sumber, file konfigurasi, log, JSON, baris CSV, dan apa pun yang berupa teks biasa.

Baik Anda perlu membandingkan dua teks, melihat perbedaan dua revisi kontrak, memeriksa apa yang diubah rekan kerja dalam sebuah file, atau menyandingkan dua kolom spreadsheet, alat diff online ini menempatkan kedua versi berdampingan dan menyorot setiap penambahan dan penghapusan untuk Anda. Semuanya berjalan sepenuhnya di browser: tidak ada yang diunggah ke server, tidak perlu akun, dan tidak ada batas panjang teks.

Berdampingan atau unified — level kata, karakter, atau baris

Beralihlah antara tampilan side-by-side yang menyejajarkan baris-baris yang cocok dalam dua kolom, dan tampilan unified (inline) yang menumpuk perubahan dengan penanda +/− yang familiar dari git diff. Tampilan berdampingan paling nyaman untuk membaca prosa di layar lebar; tampilan unified lebih ringkas dan menjadi default di layar ponsel yang sempit. Anda dapat berpindah tampilan kapan saja lewat tombol View.

Pilih juga granularitas penyorotan: mode Line menandai seluruh baris yang berubah, sedangkan Word dan Character menelusuri lebih dalam untuk menampilkan token persis yang berbeda di dalam sebuah baris — jadi mengubah 'color: red' menjadi 'color: blue' hanya menyorot 'red' versus 'blue', bukan seluruh baris. Alat desktop seperti Beyond Compare juga menawarkan fitur ini, tetapi mengharuskan instalasi dan lisensi berbayar. Diff level kata paling berguna untuk penyuntingan prosa dan dokumentasi, sedangkan diff level karakter sangat berharga untuk data yang padat seperti URL, string tanggal, atau nilai field CSV — mengubah 2024-06-19 menjadi 2024-06-20 akan menunjuk tepat pada satu digit yang berubah.

Diff checker JSON, kode, dan CSV yang sesungguhnya

Aktifkan Treat as JSON dan kedua sisi akan diformat rapi (pretty-print) dengan indentasi konsisten dan kunci yang diurutkan sebelum dibandingkan, sehingga perubahan urutan kunci dan derau format menghilang dan hanya perubahan nilai yang benar-benar nyata yang muncul — persis yang seharusnya dilakukan sebuah diff checker JSON. Misalnya, {"b":2,"a":1} dan {"a":1,"b":2} dilaporkan identik, sementara perubahan "a":1 menjadi "a":5 disorot pada barisnya. Diffchecker.com memperlakukan JSON sebagai teks biasa kecuali Anda memakai fitur JSON diff berbayarnya; di sini fitur ini gratis.

Untuk kode sumber, atur granularitas ke Word atau Character dan gunakan tampilan Inline untuk mendapatkan diff kode yang bersih, lalu ekspor sebagai patch unified-diff standar. Sempurnakan perbandingan dengan opsi Ignore whitespace (mengabaikan spasi, tab, dan indentasi), Ignore case (huruf besar dan kecil dianggap sama, jadi 'Error' dan 'error' tidak ditandai), serta Trim trailing spaces (menghapus spasi tak terlihat di akhir baris — sumber umum perbedaan semu). Kombinasikan ketiganya untuk fokus hanya pada perubahan yang benar-benar penting, misalnya saat membandingkan file yang diformat otomatis atau diindentasi berbeda.

Untuk membandingkan dua kolom CSV atau spreadsheet, tempelkan kolom A dari spreadsheet Anda ke sisi Original dan kolom B ke sisi Changed. Setiap sel berada di barisnya sendiri, sehingga entri yang ditambah, dihapus, atau diubah disorot satu per satu. Ini jauh lebih cepat daripada memakai conditional formatting atau VLOOKUP di Excel untuk mencari perbedaan.

Unggah, tukar, dan ekspor

Selain menempel teks, Anda dapat mengunggah dua file atau menyeret dan menjatuhkannya langsung ke masing-masing kotak untuk dibandingkan baris demi baris. Format apa pun yang berbasis teks didukung — .txt, .csv, .json, .xml, .html, .css, .js, .py, .md, file log, dan lainnya. Gunakan Swap untuk menukar sisi asli dan sisi yang diubah, dan Clear untuk memulai ulang.

Setelah selesai, Copy diff menyalin patch unified-diff ke clipboard Anda, dan Download .diff menyimpannya sebagai file patch sungguhan dengan header hunk @@, siap dilampirkan ke code review atau diterapkan dengan perintah patch. Ini format yang sama dengan yang dipakai pull request GitHub dan merge request GitLab.

Alternatif diff checker: bagaimana kami dibandingkan

Alternatif diff checker yang utama adalah Diffchecker.com, WinMerge, Beyond Compare, dan KDiff3. Diffchecker.com berbasis browser tetapi secara opsional menyimpan diff di server mereka — sebuah kekhawatiran privasi untuk kode rahasia. Paket gratisnya membatasi panjang teks dan mengenakan biaya untuk tautan diff permanen, ekspor PDF, dan diff yang memahami JSON. WinMerge dan KDiff3 adalah alat desktop yang tangguh tetapi hanya berjalan di Windows dan memerlukan instalasi. Beyond Compare bisa dibilang alat diff desktop terbaik, tetapi berharga $30–$60 dan hanya berjalan di Windows, Mac, dan Linux — bukan di ponsel.

Diff checker gratis kami berjalan sepenuhnya di browser Anda, tidak menyimpan apa pun di server mana pun, tidak memiliki batas karakter, dan bekerja di perangkat apa pun termasuk iPhone dan Android. Diff yang memahami JSON, unggah file, ekspor unified-diff, serta kontrol whitespace dan huruf besar-kecil semuanya gratis tanpa akun. Untuk perbandingan cepat — cuplikan kode, file konfigurasi, kontrak, kolom CSV — alat ini mencakup fungsi yang sama dengan Diffchecker tanpa kompromi privasi.

Cara kerja algoritma diff: LCS, Myers, dan patience diff

Setiap alat diff teks — termasuk yang ini — dibangun di atas masalah longest common subsequence (LCS): menemukan urutan baris terpanjang yang muncul di kedua file dengan urutan yang sama, tanpa baris-baris tersebut harus bersebelahan. Baris yang termasuk dalam LCS adalah konteks yang tidak berubah; sisanya adalah penyisipan atau penghapusan. Menghitung LCS secara brute force bersifat eksponensial, tetapi solusi dynamic-programming klasik berjalan dalam waktu dan ruang O(n × m) (dengan n dan m adalah jumlah baris di masing-masing file). Algoritma Hunt-McIlroy tahun 1975 — dasar dari perintah diff Unix yang asli — menerapkan gagasan ini pada file nyata dan menjadi implementasi acuan bagi semua alat sesudahnya.

Pada 1986, Eugene Myers menerbitkan pendekatan yang lebih cepat. Algoritma diff Myers berjalan dalam waktu O(ND) — dengan D adalah jumlah suntingan (edit distance) — yang jauh lebih cepat dalam praktik ketika kedua file mirip, karena D kecil. Git menggunakan algoritma Myers untuk keluaran git diff-nya, begitu pula sebagian besar alat code review modern (GitHub, GitLab, Bitbucket). Untuk kasus di mana keterbacaan hasil lebih penting daripada kecepatan mentah, algoritma patience diff (dipakai di Bazaar dan tersedia di Git lewat git diff --patience) menjangkarkan perbandingan pada baris yang muncul tepat satu kali di masing-masing file sebelum kembali ke LCS. Hasilnya adalah diff yang jauh lebih mudah diikuti manusia ketika sebuah fungsi diganti namanya atau blok kode dipindahkan.

Memahami algoritma ini menjelaskan perilaku yang mungkin Anda perhatikan dalam praktik. Dua fungsi yang hampir identik bisa menghasilkan diff yang membingungkan jika LCS 'menempel' pada kurung kurawal penutup atau komentar pendek yang sama; beralih ke patience diff sering langsung merapikannya. Edit distance D juga menentukan seberapa cepat perbandingan terasa: membandingkan dua file yang sangat berbeda (D besar) memang memakan CPU lebih banyak daripada dua file yang hampir identik (D kecil), itulah sebabnya teks yang sangat panjang dan sangat berbeda bisa terasa lebih lambat dibandingkan.

Format unified diff dan penggunaan di luar kode

Format unified diff — dihasilkan oleh diff -u dan git diff — adalah bahasa universal patch perangkat lunak. Setiap unified diff diawali dua baris header: --- a/namafile mengidentifikasi file asli dan +++ b/namafile mengidentifikasi file baru. Setelah header hadir satu atau beberapa hunk, masing-masing diawali header hunk @@ berbentuk @@ -a,b +c,d @@: mulai dari baris a file asli sepanjang b baris, dan mulai dari baris c file baru sepanjang d baris. Baris berawalan spasi adalah baris konteks yang tak berubah (default tiga baris di tiap sisi), baris berawalan - dihapus, dan baris berawalan + ditambahkan. Perintah patch membaca unified diff dan menerapkannya ke file asli — flag -p mengatur berapa komponen direktori yang dipangkas dari path, misalnya patch -p1 memangkas prefiks a/ yang ditambahkan Git. Saat Anda mengklik Download .diff di alat ini, Anda mendapatkan patch unified-diff yang valid persis dalam format ini.

Alat diff diciptakan untuk kode sumber, tetapi algoritmanya bersifat agnostik terhadap domain. Redlining kontrak hukum adalah salah satu penerapan dengan taruhan tertinggi: pengacara yang membandingkan dua draf perjanjian yang dinegosiasikan perlu tahu persis klausul mana yang ditambahkan, dihapus, atau ditulis ulang — dan diff level baris dengan sorotan kata memberikan presisi itu lebih cepat dan lebih andal daripada membaca kedua versi secara manual. Alur kerja manajemen konfigurasi dan infrastructure-as-code juga sangat bergantung pada diff: sebelum menerapkan playbook Ansible, rencana Terraform, atau manifest Kubernetes, tim membandingkan file yang diusulkan dengan versi yang sedang berjalan untuk mengaudit apa saja yang akan berubah — satu level indentasi yang hilang, port yang berubah, atau variabel lingkungan tambahan bisa berdampak pada produksi.

Pemantauan halaman web dan intelijen kompetitif adalah kasus praktis lainnya: mengambil teks halaman harga pesaing atau pengumuman regulasi pemerintah secara berkala lalu membandingkan hasil-hasilnya akan mengungkap kapan harga berubah, kapan klausul baru ditambahkan, atau kapan sebuah produk diam-diam dihentikan. Dalam semua kasus ini, wawasannya sama dengan yang ditunjukkan diff Unix pada 1975: merepresentasikan perubahan sebagai kumpulan minimal penambahan dan penghapusan terhadap sebuah baseline jauh lebih informatif, lebih dapat diaudit, dan lebih dapat ditindaklanjuti daripada menyimpan dua salinan lengkap berdampingan.

Frequently asked questions

Apa itu diff checker dan bagaimana cara kerjanya?

Diff checker (atau alat pembanding teks) mengambil dua versi teks dan menunjukkan dengan tepat apa yang berubah di antara keduanya. Tempelkan versi asli di kiri dan versi yang diubah di kanan; alat ini akan menyejajarkannya dan menyorot setiap perbedaan: baris yang dihapus dari versi asli tampil merah, baris yang ditambahkan di versi baru tampil hijau, dan baris yang diedit ditandai kata per kata. Di balik layar, alat ini menjalankan algoritma longest-common-subsequence (LCS) untuk menemukan kumpulan penambahan dan penghapusan terkecil — teknik yang sama di balik git diff. Misalnya, membandingkan 'color: red' dengan 'color: blue' hanya menyorot 'red' yang menjadi 'blue', bukan seluruh baris.

Bagaimana cara membandingkan dua teks untuk mencari perbedaan?

Tempelkan versi pertama ke kotak Original dan versi kedua ke kotak Changed. Perbandingan berjalan begitu Anda mengetik atau menempel — tidak ada tombol Compare yang perlu ditekan. Baris yang cocok tetap polos sementara perbedaan diberi kode warna, sehingga bisa dipindai seketika. Gunakan Swap untuk menukar sisi mana yang menjadi versi 'sebelum', dan ganti granularitas antara Character, Word, dan Line sesuai seberapa detail penyorotan yang Anda inginkan. Tempelkan dua draf email, misalnya, dan Anda akan melihat persis kalimat mana yang ditulis ulang. Alat ini bekerja untuk teks sepanjang apa pun tanpa batas karakter.

Bagaimana cara membandingkan dua file teks secara online?

Jatuhkan atau unggah satu file ke masing-masing sisi alih-alih menempel teks. Klik Upload, atau seret file .txt, .md, .csv, .json, atau .js langsung ke kotak, dan isinya termuat seketika — lalu diff muncul otomatis. Karena semuanya berjalan lokal di browser Anda, file tidak pernah dikirim ke mana pun, sehingga ideal untuk membandingkan dua file konfigurasi, dua hasil ekspor, atau dua revisi dokumen tanpa mengunggahnya ke server pihak ketiga. Ini lebih aman daripada Diffchecker.com, yang secara opsional menyimpan diff di server mereka.

Apa perbedaan tampilan side-by-side dan inline (unified)?

Tampilan side-by-side (split) menampilkan teks asli dan yang diubah dalam dua kolom sejajar, sehingga Anda membaca menyamping untuk melihat sebelum dan sesudah tiap baris — paling nyaman di layar lebar. Tampilan inline (unified) menumpuk semuanya dalam satu kolom, menandai baris yang dihapus dengan − dan baris yang ditambahkan dengan +, persis seperti git diff atau patch code review. Tampilan unified lebih ringkas dan menjadi default di layar ponsel yang sempit; side-by-side lebih mudah untuk prosa. Beralihlah kapan saja lewat tombol View. Kebanyakan alat diff desktop seperti Beyond Compare dan WinMerge juga menawarkan kedua tampilan ini, tetapi memerlukan instalasi.

Apa arti sorotan hijau dan merah?

Hijau berarti ditambahkan — teks yang ada di versi Changed tetapi tidak di Original. Merah berarti dihapus — teks yang ada di Original tetapi hilang dari versi Changed. Baris yang diedit menampilkan keduanya: kata-kata lama diberi rona merah di kiri dan kata-kata baru diberi rona hijau di kanan, dengan kata atau karakter yang benar-benar berubah disorot lebih kuat. Baris statistik merangkum totalnya, misalnya '+4 added · −2 removed · ~3 changed'. Skema warna ini mengikuti konvensi yang dipakai git, GitHub, dan code review GitLab.

Bisakah saya mengabaikan spasi atau huruf besar-kecil saat membandingkan?

Bisa. Nyalakan 'Ignore whitespace' agar baris yang hanya berbeda spasi, tab, atau indentasi dianggap identik — berguna saat satu file memakai tab dan yang lain memakai spasi. 'Ignore case' memperlakukan huruf besar dan kecil sebagai sama, sehingga 'Error' dan 'error' tidak ditandai. 'Trim trailing spaces' menghapus spasi tak terlihat di akhir baris, sumber umum perbedaan semu. Kombinasikan ketiganya untuk fokus hanya pada perubahan yang benar-benar penting. Opsi-opsi ini memudahkan membandingkan file yang diformat otomatis atau diindentasi berbeda tanpa positif palsu.

Bagaimana cara membandingkan dua file JSON?

Tempelkan masing-masing dokumen JSON ke satu sisi dan aktifkan 'Treat as JSON'. Alat ini memformat rapi keduanya dengan indentasi 2 spasi yang konsisten dan mengurutkan kunci objek, sehingga perbedaan urutan kunci atau format tidak muncul sebagai perubahan — hanya perbedaan nilai yang nyata yang terlihat. Misalnya, {"b":2,"a":1} dan {"a":1,"b":2} dilaporkan identik, sedangkan mengubah "a":1 menjadi "a":5 disorot pada baris tersebut. Itulah yang menjadikannya diff checker JSON sejati, bukan sekadar pembanding teks mentah — berbeda dari Diffchecker.com yang memperlakukan JSON sebagai teks biasa.

Bagaimana cara membandingkan kode atau mendapatkan diff bergaya git?

Alat ini bekerja untuk kode sumber apa pun — tempelkan dua versi sebuah fungsi, file konfigurasi, atau seluruh file. Atur granularitas ke Word atau Character untuk melihat persis token mana yang berubah di dalam sebuah baris, dan pakai tampilan Inline untuk tata letak +/− bergaya git yang familiar. Untuk menyimpan atau membagikan hasilnya, klik Download .diff untuk mendapatkan patch unified-diff standar (dengan header hunk @@) yang dapat diterapkan dengan `patch` atau dilampirkan ke review, atau Copy diff untuk menyalin patch yang sama ke clipboard. Ini format yang sama dengan yang dipakai pull request GitHub dan merge request GitLab.

Apakah aman membandingkan teks rahasia atau pribadi secara online?

Aman — bahkan lebih aman daripada kebanyakan alat diff online. Diffchecker.com, misalnya, secara opsional menyimpan diff Anda di server mereka dan menawarkan paket berbayar untuk menjaganya tetap privat. Alat kami sama sekali tidak pernah mengunggah teks Anda. Seluruh diff dihitung di browser Anda dengan JavaScript, sehingga kode rahasia, kontrak, API key, atau data pribadi tidak pernah meninggalkan perangkat dan tidak pernah dicatat. Anda bahkan tetap bisa memakainya secara offline setelah halaman termuat. Tidak perlu akun, dan tidak ada batas pemakaian.

Bisakah saya mengunggah dua file untuk dibandingkan?

Bisa. Setiap sisi menerima file: klik Upload dan pilih satu, atau seret dan jatuhkan file teks langsung ke kotak. Kedua file langsung dibandingkan baris demi baris. Konten yang didukung adalah apa pun yang berbasis teks — .txt, .csv, .json, .xml, .html, .css, .js, .py, .md, log, dan lainnya. Tidak ada yang diunggah ke server; file dibaca secara lokal dan tetap berada di perangkat Anda. Ini menjadikannya alternatif gratis yang praktis untuk alat desktop seperti WinMerge, Beyond Compare, atau KDiff3 untuk perbandingan sekali pakai yang cepat.

Apa itu unified diff?

Unified diff adalah format ringkas standar untuk menampilkan perubahan, dipakai oleh git serta alat diff/patch Unix. Format ini mendaftar perubahan dalam satu aliran: baris berawalan − dihapus, baris berawalan + ditambahkan, dan baris 'konteks' yang tak berubah di sekitarnya diawali spasi. Setiap bagian dimulai dengan header @@ yang menunjukkan nomor baris, misalnya '@@ -3,4 +3,5 @@'. Pilih tampilan Inline untuk membaca perubahan dengan cara ini di layar, atau Download .diff untuk mengekspor file patch unified-diff sungguhan yang dapat diterapkan dengan perintah `patch` atau dibagikan dalam code review.

Bagaimana cara membandingkan dua kolom CSV atau spreadsheet?

Tempelkan satu kolom nilai ke masing-masing sisi — salin kolom A dari spreadsheet Anda ke Original dan kolom B ke Changed — lalu baca ke bawah baris demi baris. Setiap sel berada di barisnya sendiri, sehingga entri yang ditambah, dihapus, atau diubah disorot satu per satu. Nyalakan 'Trim trailing spaces' dan 'Ignore case' untuk menghindari ketidakcocokan semu akibat spasi liar atau kapitalisasi. Untuk data yang diekspor sebagai .csv, Anda juga bisa menjatuhkan seluruh file dan membandingkan baris mentahnya langsung. Ini jauh lebih cepat daripada memakai conditional formatting Excel atau VLOOKUP untuk mencari perbedaan.

Apakah diff checker ini berfungsi di ponsel — iPhone dan Android?

Ya. Diff checker ini sepenuhnya responsif dan berfungsi di browser modern apa pun di iPhone (Safari atau Chrome), Android (Chrome atau Firefox), dan tablet. Tampilan side-by-side dua kolom otomatis menyusut menjadi tampilan inline satu kolom di layar sempit agar diff tetap terbaca tanpa menggulir horizontal. Tidak perlu mengunduh aplikasi. Alat desktop seperti Beyond Compare, WinMerge, dan KDiff3 memerlukan Windows atau Mac dan sama sekali tidak bisa dipakai di ponsel — alat ini mengisi celah itu dengan alternatif gratis tanpa instalasi.