about.md

Tentang TextDiff, Pembanding Teks

TextDiff adalah alat diff online gratis untuk menemukan perbedaan antara dua teks. Letakkan berdampingan dua tulisan yang mirip tetapi sedikit berbeda — draf dan revisi dokumen, kontrak yang Anda kirim dan yang dikembalikan, versi lama dan baru sebuah kode — lalu alat ini menandai dengan warna baris mana yang ditambah, dihapus, atau diubah, serta kata atau karakter mana tepatnya yang berubah di dalam baris.

Seluruh perbandingan berlangsung di dalam browser. Teks yang dimasukkan dan file yang dibuka tidak dikirim ke server, sehingga dokumen internal atau kontrak yang tidak boleh keluar pun tetap bisa dibandingkan. Perhitungan berjalan di Web Worker, jadi layar tidak macet meskipun masukannya puluhan ribu baris.

Buka pembanding teks

Fitur utama

Sorotan baris dan isi baris

Setelah menemukan baris yang berubah, alat ini menyorot sekali lagi bagian yang berubah di dalam baris itu per kata, potongan, atau karakter.

Tampilan berdampingan dan gabungan

Beralih antara tampilan berdampingan (side-by-side) dan tampilan gabungan (unified) yang dibaca dari atas ke bawah seperti di git.

Opsi pengabaian

Perbandingan dapat mengabaikan spasi di akhir baris, jumlah spasi, semua spasi, huruf besar/kecil, dan baris kosong.

Normalisasi akhir baris

Perbedaan baris baru Windows (CRLF) dan macOS/Linux (LF), serta ada tidaknya baris baru terakhir, dianggap sama.

Bandingkan JSON dengan kunci diurutkan

Kedua JSON di-parse, kunci objek diurutkan, dan indentasi diseragamkan sebelum dibandingkan. Perbedaan urutan kunci saja tidak dihitung sebagai perbedaan.

Statistik dan navigasi perubahan

Menampilkan jumlah baris yang ditambah, dihapus, dan diubah serta tingkat kemiripan (%), dan langsung melompat ke perubahan sebelumnya atau berikutnya.

Perubahan saja

Bagian panjang yang tidak berubah dilipat, hanya menyisakan 3 baris di sekitar setiap perubahan. Bagian yang dilipat dapat dibuka dengan mengkliknya.

Seret file

Seret .txt, .md, .json, .csv, dan berbagai file kode ke kolom, atau lepaskan dua file sekaligus untuk langsung membandingkannya.

Ekspor patch dan HTML

Salin atau simpan hasil sebagai teks unified diff (patch), atau salin sebagai tabel HTML berwarna untuk ditempel di email atau dokumen.

Cara pakai

  1. Tempel teks acuan di kolom kiri (asli) dan teks pembanding di kolom kanan (perubahan). Anda juga bisa menyeret file ke kolom atau memakai tombol buka di atasnya.
  2. Jika 'Bandingkan saat mengetik' aktif, hasil muncul begitu Anda berhenti mengetik. Jika tidak, tekan [Bandingkan] atau Ctrl+Enter.
  3. Bila perlu, pilih abaikan spasi, huruf besar/kecil, atau baris kosong, satuan perbandingan dalam baris (kata/potongan/karakter), dan pengurutan kunci JSON. Perbandingan langsung diulang setiap kali opsi diubah.
  4. Di bilah hasil, pilih tampilan berdampingan atau gabungan, lalu berpindah antarperubahan dengan tombol panah atas/bawah (atau Alt+↑/↓).
  5. Untuk berbagi, salin atau simpan patch, atau salin hasil sebagai HTML.

Penjelasan opsi perbandingan

Spasi: bandingkan apa adanyaSpasi dan tab diperlakukan sama seperti karakter lain. Beda satu indentasi saja sudah membuat baris berbeda.
Spasi: abaikan spasi di akhir barisHanya spasi dan tab yang tersisa di akhir baris yang diabaikan. Menyaring perbedaan akibat spasi yang dihapus atau ditinggalkan otomatis oleh editor. (Mirip -Z pada GNU diff)
Spasi: abaikan jumlah spasiSatu spasi dan banyak spasi dianggap sama. Namun, tempat yang ada spasinya tetap berbeda dari tempat tanpa spasi: 'a b' dan 'a b' sama, tetapi 'a b' dan 'ab' berbeda. (diff -b)
Spasi: abaikan semua spasiSemua spasi dihapus sebelum dibandingkan, sehingga 'a b' dan 'ab' pun dianggap baris yang sama. (diff -w)
Dalam baris: kataMenandai perubahan per kelompok huruf dan angka serta per simbol. Cocok untuk kode dan teks bahasa Inggris.
Dalam baris: potongan antarspasiSatuannya adalah segala sesuatu di antara spasi, termasuk tanda baca yang menempel. Nyaman untuk membaca kalimat biasa.
Dalam baris: karakterMembandingkan per karakter. Dipakai untuk menunjuk dengan tepat tempat yang hanya berubah satu-dua karakter, seperti nominal, tanggal, dan nomor pasal.
Abaikan huruf besar/kecilHuruf kapital dan huruf kecil dianggap huruf yang sama.
Abaikan baris kosongBaris yang kosong atau hanya berisi spasi dikeluarkan dari perbandingan. Baris kosong ditampilkan pudar dan tidak masuk hitungan perubahan. (Mirip diff -B)
Normalkan akhir barisCRLF, CR, dan LF semuanya dianggap baris baru yang sama, dan ada tidaknya baris baru di akhir file juga diabaikan. Jika dimatikan, CR di akhir baris ditampilkan sebagai ␍ dan baris tanpa baris baru terakhir ditampilkan sebagai ∅.
Urutkan kunci JSONKedua sisi di-parse sebagai JSON, kunci objek diurutkan secara alfabetis, lalu ditulis ulang dengan indentasi 2 spasi sebelum dibandingkan. Urutan array tidak diubah. Jika parse gagal, posisi galatnya ditampilkan.

Perbedaan akhir baris (seperti CRLF) hanya dibandingkan secara tepat untuk teks yang dimuat dari berkas. Pada teks yang ditempel ke kotak input, browser mengubah jeda baris menjadi LF sehingga perbedaan CR tidak terlihat.

Pintasan keyboard

Ctrl+Enter / ⌘+EnterBandingkan sekarang
Alt+↓ / Alt+↑Ke perubahan berikutnya / sebelumnya
n / p (di luar kolom masukan)Ke perubahan berikutnya / sebelumnya
Tab (di dalam kolom masukan)Mengetik karakter tab

Isi masukan Anda tidak dikirim ke mana pun

Mesin perbandingan adalah JavaScript (diff-core.js) yang diunduh bersama halaman ini, dan teks serta file hanya diproses di memori browser. Isi masukan tidak disimpan; browser hanya mengingat tema dan pilihan opsi. Begitu halaman ditutup, isi masukan hilang.

Pertanyaan yang sering diajukan

Apakah teks yang saya bandingkan disimpan di server?

Tidak. Perbandingan dilakukan hanya dengan JavaScript di dalam browser, dan isi masukan tidak dikirim ke server mana pun. Pada halaman yang sudah terbuka, perbandingan tetap berjalan meskipun koneksi jaringan diputus.

Seberapa besar teks yang bisa dibandingkan?

Satu file dapat dimuat hingga 30 MB, dan perbandingan berukuran puluhan ribu baris diproses di thread terpisah (Web Worker) sehingga layar tidak macet. Jika perbedaannya sangat banyak, demi kecepatan hasilnya bisa berupa perkiraan, bukan yang paling minimal. Jika hasil melebihi 4.000 baris, bagian yang berubah ditampilkan lebih dulu.

Algoritma apa yang dipakai?

Perbandingan per baris memakai algoritma selisih O(ND) dari Myers (1986) yang diimplementasikan dengan ruang memori linear. Jika biayanya menjadi terlalu besar, alat ini beralih ke pembagian perkiraan seperti GNU diff. Di dalam baris yang berubah, kata, potongan, atau karakter dibandingkan ulang dengan algoritma yang sama.

Bagaimana 'diubah' dibedakan dari 'ditambah/dihapus'?

Di dalam bagian yang berubah, jika isi baris yang dihapus dan baris yang ditambah cukup mirip, keduanya dipasangkan dan dihitung sebagai satu baris yang diubah. Baris yang tidak mendapat pasangan dihitung sebagai 'ditambah' atau 'dihapus'.

Bagaimana kemiripan (%) dihitung?

Yaitu proporsi karakter yang tidak berubah dari seluruh karakter di kedua sisi (termasuk baris baru). Baris yang sama dihitung seluruhnya, sedangkan pada baris yang diubah hanya bagian yang tetap sama yang dihitung.

Apa bedanya abaikan jumlah spasi dan abaikan semua spasi?

Abaikan jumlah spasi hanya mengabaikan berapa banyak spasinya, sehingga 'a b' dan 'ab' dianggap berbeda. Abaikan semua spasi menghapus seluruh spasi sebelum membandingkan, sehingga keduanya dianggap sama. Pada kode yang indentasinya bermakna seperti Python, gunakan abaikan semua spasi dengan hati-hati.

Bisakah patch yang dibuat dengan opsi pengabaian aktif diterapkan?

Patch dibuat berdasarkan perbedaan yang tampil di layar, dan baris konteks diambil dari teks asli. Perbedaan yang diabaikan tidak masuk ke patch, jadi untuk membuat file yang persis sama, matikan semua opsi sebelum membuat patch.

Bisakah membandingkan dokumen Word, PDF, atau HWP?

File tersebut tidak dapat dibaca langsung, tetapi Anda bisa menyalin teks dari dokumen lalu menempelkannya untuk dibandingkan. Tabel, catatan kaki, dan format bisa hilang saat itu. Tips lengkapnya ada di panduan membandingkan dokumen.

Apakah bisa dipakai di ponsel?

Bisa. Di layar sempit, kolom masukan ditumpuk atas-bawah dan hasil dimulai dalam tampilan gabungan. Anda juga dapat beralih ke tampilan berdampingan.

Panduan