Testo

Text Diff

Confronto tra due testi riga per riga — cosa è stato aggiunto, rimosso o modificato, con evidenziazione a livello di parola nelle righe modificate.


                        
                    

Text Diff compares two texts line by line and shows what was added, removed, or changed, with word-level highlighting inside changed lines — much like git diff, but without a command line.

How to use it

Common uses

Things to keep in mind

By default a whitespace-only change (like indentation) still counts as a difference, since it technically changes the line's content.

The diff compares lines by position, so adding or removing a single line near the top can shift how the rest of the text lines up.

Articolo su questo strumento: Text Diff: come gli algoritmi trovano la differenza tra due testi

Domande frequenti

Come viene calcolato il confronto?

Il confronto avviene riga per riga: ogni riga viene identificata come aggiunta, rimossa o modificata, e nelle righe modificate vengono evidenziate le parole esatte che differiscono.

Come vengono visualizzate aggiunte, rimozioni e modifiche?

Le righe aggiunte e rimosse sono contrassegnate come tali nel risultato, e le righe modificate mostrano un'evidenziazione a livello di parola per vedere immediatamente cosa è cambiato senza rileggere l'intera riga.

Entrambi i miei testi vengono inviati a un server?

No, il confronto avviene interamente nel browser in JavaScript — nessun contenuto viene inviato da nessuna parte.

Perché l'inserimento di una singola riga mostra come modificate tutte quelle successive?

L'algoritmo non riconosce sempre senza errori che si tratta proprio di un inserimento e non di una sostituzione massiccia — soprattutto se le righe circostanti si assomigliano. I buoni algoritmi di diff cercano di minimizzare questi falsi positivi cercando la sottosequenza comune più lunga, ma non è sempre perfetto.

Gli spazi vengono considerati nel confronto?

Sì, per impostazione predefinita anche una modifica riguardante solo gli spazi (ad esempio nell'indentazione) viene contrassegnata come differenza, poiché tecnicamente è una modifica del contenuto della riga.

Articoli: Testo

Case Converter: perché esistono stili di denominazione diversi

Perché in uno stesso progetto le variabili si scrivono in camelCase ma i file in kebab-case, e da dove vengono queste regole.

Espressioni regolari: sintassi di base e pattern comuni

Come leggere un'espressione regolare e in cosa la corrispondenza greedy differisce da quella lazy.

Ordinare e deduplicare righe: a cosa serve

Perché un ordinamento numerico che mette "10" prima di "9" è un errore, e come evitarlo.

String Escape: perché lo stesso testo va escapato in modo diverso

Perché la stessa virgoletta viene escapata in modo diverso in una stringa JS, in JSON e in un comando shell.

CRLF contro LF: perché i caratteri di fine riga contano ancora

Perché un file scritto su Windows può apparire "completamente modificato" in git su Linux.

Contare caratteri e parole: perché non è sempre banale

Perché un'emoji o una lettera accentata possono contare come più caratteri contemporaneamente.

Lorem Ipsum: da dove viene il testo segnaposto e a cosa serve

Perché i designer usano deliberatamente testo "senza senso" invece di contenuti reali nei mockup.

Slugify: come trasformare un testo qualsiasi in un URL

Come un titolo come "Ciao, Mondo!" diventa una stringa compatibile con gli URL come ciao-mondo.

Markdown: perché una sintassi di testo semplice ha battuto gli editor ricchi

Perché gli sviluppatori preferiscono scrivere la documentazione in Markdown invece che in un editor di testo ricco.

Spazi e caratteri invisibili: la causa nascosta di bug strani

Perché due stringhe apparentemente identiche possono non corrispondere a causa di un carattere invisibile.

Text Reverse: perché "invertire un testo" è più difficile di quanto sembri

Perché un'inversione ingenua di una stringa può trasformare un'emoji in byte inutilizzabili.

Analisi di frequenza del testo: a cosa serve contare le ripetizioni delle parole

Come la frequenza delle lettere in un testo cifrato aiuta a violare i cifrari a sostituzione più semplici.