Confronto Differenze per Parola
La maggior parte degli strumenti di diff confronta riga per riga, il che è inutile quando cambia una singola parola all'interno di un paragrafo lungo: l'intera riga risulta segnata come modificata. Questo strumento tokenizza entrambi i testi fino al livello di parola (mantenendo spazi e punteggiatura come token separati così il testo può essere ricostruito perfettamente), poi esegue un classico algoritmo di diff basato su LCS per trovare l'insieme minimo di modifiche a livello di parola. Le parole aggiunte sono evidenziate in verde, quelle rimosse sono barrate in rosso, e le parole invariate sono mostrate normalmente, tutto in linea in un unico paragrafo leggibile. Ideale per confrontare due bozze di una frase, una clausola contrattuale o un paragrafo di testo. Tutto avviene localmente nel tuo browser.
Verificato da Vincenzo Manto, Fondatore e Lead Developer · Ultimo aggiornamento 27 settembre 2026
Come funziona
- 1
Incolla il testo originale a sinistra e il testo modificato a destra.
- 2
Lo strumento tokenizza entrambi i testi in parole e punteggiatura/spazi, poi calcola la differenza minima a livello di parola.
- 3
Leggi il risultato in linea: le parole evidenziate in verde sono state aggiunte, le parole barrate in rosso sono state rimosse, le parole normali sono invariate.
- 4
I conteggi di parole aggiunte/rimosse/invariate sopra il diff danno un riepilogo rapido di quanto è cambiato.
Perché il diff a livello di parola conta per la prosa
Gli strumenti di diff basati su righe sono pensati per il codice sorgente, dove ogni riga è un'unità significativa. La prosa non funziona così. Una clausola legale, una frase di marketing o un paragrafo di documentazione spesso vive su un'unica riga lunga, e la sostituzione di una singola parola fa sì che un diff basato su righe evidenzi l'intera riga come 'modificata', nascondendo esattamente cosa è cambiato.
Un vero diff LCS, non un confronto ingenuo parola per parola
Confrontare semplicemente la parola N del testo A con la parola N del testo B si rompe completamente non appena viene inserita o eliminata una parola, poiché ogni parola successiva cambia posizione e sembra 'modificata' anche se identica. Questo strumento calcola invece la Longest Common Subsequence tra i due flussi di token, lo stesso approccio rigoroso usato dai veri strumenti di diff, così inserimenti ed eliminazioni nel mezzo di una frase vengono identificati correttamente senza modifiche false a cascata in seguito.
Domande frequenti
In cosa differisce da un normale strumento di diff riga per riga?
Un diff basato su righe segna un'intera riga come modificata anche se al suo interno differisce solo una parola. Questo strumento confronta a livello di parola, quindi se cambi una parola in una frase di 50 parole, viene segnalata solo quella parola. Tutto il resto resta marcato come invariato.
Quale algoritmo usa?
Un classico algoritmo di diff a programmazione dinamica basato sulla Longest Common Subsequence (LCS), implementato da zero, la stessa famiglia di algoritmi dietro strumenti come il comando Unix `diff`, applicato qui a un flusso di token-parola invece che di righe.
Gestisce correttamente punteggiatura e spazi?
Sì. Punteggiatura e spazi vengono tokenizzati come token separati dalle parole, quindi ricostruire ciascun lato del diff concatenando i suoi token riproduce esattamente il testo originale, inclusi spaziatura e ritorni a capo.
Il diff è garantito essere l'insieme minimo di modifiche possibile?
Sì, per queste dimensioni di input. L'algoritmo LCS trova uno script di modifica minimo e non segnala mai più aggiunte/rimozioni del necessario per trasformare il testo originale in quello modificato.
Il mio testo viene caricato da qualche parte?
No. Tokenizzazione e diff avvengono interamente nel tuo browser con JavaScript. Niente viene inviato a un server.