Bandingkan dua teks atau kode dengan sorotan tingkat baris dan kata. Berdampingan atau terpadu, abaikan spasi, abaikan huruf besar/kecil — sepenuhnya di browser Anda.
Tidak. Seluruh alat ini adalah JavaScript yang berjalan di dalam halaman ini. Algoritma diff (longest-common-subsequence) berjalan di CPU Anda dan hasilnya dirender langsung ke DOM. Buka DevTools → Network dan perhatikan — tidak ada permintaan dikirim selama proses diff. Aman untuk menempelkan kode internal, data pelanggan, draf kontrak, atau apa pun yang tidak ingin Anda catat oleh alat berbasis server.
Pertama kami memisahkan kedua input menjadi baris-baris dan menjalankan algoritma LCS (longest common subsequence). Baris yang cocok di kedua sisi ditandai sama. Baris yang tidak cocok dipasangkan menjadi baris 'perubahan' ketika penambahan muncul di samping penghapusan. Untuk setiap perubahan berpasangan, kami menjalankan LCS kedua pada kata-kata baris (dipisah berdasarkan spasi) sehingga hanya kata yang benar-benar diedit yang menyala merah/hijau — bukan seluruh baris.
Mengapa iKit Diff Checker
Tempat bermain diff teks yang bersih dan cepat tanpa iklan, popup, atau pelacak pihak ketiga — dibuat untuk pengembang, penulis, dan siapa saja yang perlu melihat perubahan.
Tampilan berdampingan + terpadu
Beralih antara terpisah (dua kolom, nuansa IDE klasik) dan terpadu (kolom tunggal dengan penanda +/−) hanya dengan satu klik. Kedua tampilan menampilkan nomor baris dan menyorot setiap perubahan secara inline.
Sorotan tingkat kata
Saat dua baris berubah, kami menjalankan diff tingkat kata kedua sehingga hanya perbedaan sebenarnya yang menyala — bukan seluruh baris. Lebih mudah menemukan satu salah ketik dalam baris 200 karakter.
Abaikan spasi + abaikan huruf besar/kecil
Aktifkan sensitivitas spasi dan huruf besar/kecil untuk menyaring perubahan kosmetik (indentasi yang diformat ulang, perubahan kapitalisasi) dan fokus pada pengeditan nyata.
Privasi sejak desain
Kedua teks tetap di tab browser Anda. Algoritma diff berjalan secara lokal di JavaScript. Dapat diverifikasi di DevTools → Network: nol permintaan dikirim saat Anda mengetik.
Statistik + salin
Lihat berapa banyak baris yang ditambahkan, dihapus, dan diubah secara sekilas. Satu klik menyalin diff ke clipboard Anda untuk ditempel ke ulasan kode atau pesan commit.
Bekerja offline
Setelah halaman dimuat, setiap byte dihitung secara lokal. Bekerja di pesawat, di balik firewall korporat, atau tanpa jaringan sama sekali — berguna untuk ulasan kode rahasia.
Cara kerja diff checker yang sebenarnya
Matematika di balik layar lebih tua dari web — algoritma tahun 1965 bernama LCS, ditambah penyempurnaan tahun 1986 oleh Eugene Myers.
1
Pisahkan menjadi baris
Kedua input dipecah pada \n (atau \r\n). Setiap baris menjadi token. Kami membandingkan token — bukan karakter — karena sebagian besar pengeditan dalam kode atau dokumen dunia nyata menambahkan, menghapus, atau memodifikasi seluruh baris.
2
Hitung LCS
Longest Common Subsequence adalah himpunan baris terbesar yang muncul dalam urutan yang sama di kedua input. Kami mengisi tabel DP dari kanan-bawah; setiap sel menyimpan panjang LCS dari posisi tersebut hingga akhir. Ini membutuhkan waktu dan memori O(m × n).
3
Telusuri kembali untuk menurunkan operasi
Mulai dari kiri-atas tabel, kami berjalan ke depan: jika dua baris saat ini cocok, hasilkan equal; jika tidak, pilih arah mana pun (kanan atau bawah) yang mempertahankan panjang LCS, menghasilkan delete atau insert. Hasilnya adalah urutan operasi yang mengubah Asli menjadi Diubah.
4
Diff tingkat kata di dalam pasangan yang berubah
Saat penghapusan diikuti oleh penyisipan, kami memasangkannya sebagai baris change. Untuk menyorot hanya bagian yang berbeda di dalam baris, kami menjalankan algoritma LCS yang sama untuk kedua kalinya pada kata-kata di setiap sisi, dipisah berdasarkan batas spasi.
Tugas diff yang umum
Situasi nyata di mana Anda akan menggunakan diff checker.
Meninjau PR sebelum berkomentar
Tampilan diff GitHub bagus, tetapi terkadang Anda ingin melihat hanya perubahan substantif tanpa kebisingan formatter. Tempel kedua versi, aktifkan Abaikan spasi, dan format ulang kosmetik akan hilang — menyisakan hanya pengeditan logika.
Membandingkan dua draf kontrak
Pengacara dan tim ops sering perlu mengetahui apa yang berubah antara v1 dan v2 sebuah kontrak. Tempel keduanya, dapatkan diff berwarna dengan sorotan tingkat kata — tanpa Word, tanpa Track Changes, tanpa mengunggah ketentuan rahasia ke server pihak ketiga.
Memeriksa apa yang sebenarnya dilakukan oleh pengeditan skrip
Menjalankan regex sed/awk/Python pada file konfigurasi? Tempel yang asli dan hasilnya di sini untuk memastikan skrip hanya mengedit yang Anda harapkan. Sorotan tingkat karakter menangkap pengeditan tersesat yang terlewat oleh pemindaian visual cepat.
Menemukan salah ketik dalam teks terjemahan
Pasangan terjemahan (sumber vs terjemahan, atau dua terjemahan dari sumber yang sama) — diff tingkat kata membuat sangat mudah untuk menemukan kata yang hilang, frasa yang terduplikasi, atau pembalikan tanda baca yang terlewat oleh proofreader.
Mengapa diff lokal itu penting
Teks yang Anda bandingkan biasanya bersifat pribadi: kode dari repositori internal, draf kontrak, ekspor data pelanggan, atau salinan produk yang belum dirilis. Menempelkannya ke server orang asing menciptakan jejak yang tidak Anda kendalikan. Diff checker iKit adalah JavaScript yang sudah dimuat di tab browser Anda — perbandingannya berjalan di CPU Anda dan tidak pernah menyentuh soket jaringan.
Nol permintaan jaringan selama proses diff — dapat diverifikasi di DevTools → Network.
Input tetap di memori browser; dibersihkan saat Bersihkan atau halaman dimuat ulang.
Aman untuk kode internal, dokumen yang dilindungi NDA, transkrip dukungan pelanggan, dan apa pun yang dicakup oleh kebijakan residensi data.
Related guides
Deep-dive tutorials and tool comparisons from the iKit blog.
Tidak. Seluruh alat ini adalah JavaScript yang berjalan di dalam halaman ini. Algoritma diff (longest-common-subsequence) berjalan di CPU Anda dan hasilnya dirender langsung ke DOM. Buka DevTools → Network dan perhatikan — tidak ada permintaan dikirim selama proses diff. Aman untuk menempelkan kode internal, data pelanggan, draf kontrak, atau apa pun yang tidak ingin Anda catat oleh alat berbasis server.
Bagaimana cara kerja sorotan tingkat baris dan kata?
Pertama kami memisahkan kedua input menjadi baris-baris dan menjalankan algoritma LCS (longest common subsequence). Baris yang cocok di kedua sisi ditandai sama. Baris yang tidak cocok dipasangkan menjadi baris 'perubahan' ketika penambahan muncul di samping penghapusan. Untuk setiap perubahan berpasangan, kami menjalankan LCS kedua pada kata-kata baris (dipisah berdasarkan spasi) sehingga hanya kata yang benar-benar diedit yang menyala merah/hijau — bukan seluruh baris.
Apa perbedaan antara tampilan Terpisah dan Terpadu?
Tampilan terpisah menampilkan dua teks berdampingan dengan nomor baris berpasangan — lebih dekat dengan tampilan diff di IDE (VS Code, JetBrains). Tampilan terpadu menampilkan satu kolom dengan baris berawalan +/− — lebih dekat dengan apa yang dicetak `git diff`. Pilih sesuai alur kerja Anda; keduanya menampilkan data yang sama.
Mengapa 'abaikan spasi' membantu?
Memformat ulang kode (menjalankan Prettier, mengganti tab/spasi, menormalkan akhir baris) menambahkan kebisingan visual yang menyembunyikan perubahan nyata. Mengaktifkan 'Abaikan spasi' menggabungkan rangkaian spasi/tab menjadi satu spasi dan memangkas tepi baris sebelum diff — sehingga Anda hanya melihat pengeditan yang bermakna, bukan yang kosmetik.
Berapa input terbesar yang dapat saya diff di browser?
Algoritma LCS menggunakan memori O(m × n) di mana m dan n adalah jumlah baris di setiap sisi. iKit membatasi perbandingan hingga ~4 juta sel (≈16 MB), yang dengan nyaman menangani beberapa ribu baris dibanding beberapa ribu baris. Untuk diff yang lebih besar (dump database lengkap, log file penuh), gunakan alat CLI seperti `diff` atau `git diff --no-index` — yang menggunakan algoritma lebih cerdas (Myers diff) yang dapat menangani jutaan baris.