100 % locale — i tuoi dati non lasciano mai il tuo browser

Diff di testo — una patch da incollare in un ticket

Confronta due testi riga per riga e ottieni un diff unificato, la stessa forma che stampa git, pronto da incollare in un ticket o in una review.

Istantaneo Privato Zero cookie

Originale

Modificato

Differenze

Che cosa fa questo strumento

Entrano due testi, esce un diff unificato.

version: 1          version: 2
name: demo          name: demo
port: 8080          port: 8080
                    debug: true
@@ -1,3 +1,4 @@
-version: 1
+version: 2
 name: demo
 port: 8080
+debug: true

Il confronto usa l’algoritmo di Myers — lo stesso dietro git diff — così il risultato è l’insieme di modifiche più piccolo e non il primo trovato. Testi identici danno un risultato vuoto, che è la risposta che cercavi.

Leggere il risultato

  • @@ -1,3 +1,4 @@ — dove sta la modifica: tre righe dalla 1 a sinistra, quattro dalla 1 a destra.
  • - — la riga è nel primo testo e non nel secondo.
  • + — la riga è nel secondo e non nel primo.
  • Uno spazio iniziale — la riga è invariata e compare come contesto. Tre per lato, come fa Git di default.

Quando due righe apparentemente identiche differiscono

-a
+a

Niente da vedere, eppure non è la stessa riga. I soliti sospetti: uno spazio a fine riga, una tabulazione contro spazi e un fine riga di Windows \r\n contro un \n di Unix — un file modificato su due macchine li colleziona tutti e tre. Il confronto legge i caratteri esatti, quindi segnala una differenza che non può mostrarti.

cat -A su Unix stampa un $ a fine riga e un ^M per un ritorno a capo; quasi tutti gli editor hanno un interruttore «mostra spazi». L’uno o l’altro rende la differenza visibile in un secondo.

Che cosa non fa

  • Evidenziazione a livello di parola. Un carattere cambiato segna l’intera riga.
  • Rilevamento di rinomine o spostamenti. Un blocco spostato si legge come una rimozione e un’aggiunta, non come uno spostamento.
  • Una fusione a tre vie. Confronta due testi; non li riconcilia.
  • Il segno \ No newline at end of file. Un testo che finisce con un a capo contro uno che non ce l’ha compare come una riga vuota aggiunta, che è la stessa informazione in forma più semplice.

Privato per progettazione

Tutto viene eseguito localmente nel browser con JavaScript. I tuoi dati non vengono mai caricati, quindi lo strumento è sicuro per contenuti sensibili e funziona anche offline.

Domande frequenti

Due righe sembrano identiche ma escono come `-` e `+`. Perché?
Perché la differenza è invisibile. Uno spazio a fine riga, una tabulazione dove l’altro lato ha spazi, o un fine riga di Windows (`\r\n` contro `\n`) cambiano la riga senza cambiare quello che vedi. Il confronto è sui caratteri esatti, come quello di Git. Per vederli, passa il testo in `cat -A` su Unix, o attiva «mostra spazi» nel tuo editor.
Che cosa vogliono dire le righe `@@`?
Collocano la modifica: `@@ -1,3 +1,4 @@` significa «dalla riga 1, tre righe a sinistra; dalla riga 1, quattro a destra». Sotto, una riga che comincia con `-` è stata tolta, `+` aggiunta, e uno spazio vuol dire invariata — tre righe di contesto restano attorno a ogni modifica, lo stesso valore predefinito di Git.
Evidenzia la parola cambiata?
No: il confronto è riga per riga. Cambia un carattere e l’intera riga compare come tolta e riaggiunta. È questo un diff unificato, ed è per questo che il risultato si incolla pulito in uno strumento di revisione; una vista a livello di parola è un’altra cosa, e un altro strumento.

Convertitori correlati