⟺ Dev

Diff Viewer — Confronta Testo Online

Confronta due versioni di un testo e visualizza le differenze riga per riga con evidenziazione colorata. Ideale per codice, documenti e configurazioni.

Come funziona il Diff Viewer

Incolla il testo originale nel pannello sinistro e la versione modificata in quello destro. Il tool evidenzia in rosso le righe rimosse e in verde quelle aggiunte, mostrando esattamente cosa è cambiato — carattere per carattere, riga per riga. Supporta testo generico, codice sorgente, JSON, XML, YAML, SQL e qualsiasi formato testuale. Il confronto avviene interamente nel browser: nessun dato viene mai inviato a server.

Algoritmo diff: come funziona

Il diff usa l'algoritmo LCS (Longest Common Subsequence) — lo stesso di git diff e diff Unix. Trova la sequenza di righe più lunga comune ai due testi, poi marca come "rimosso" ciò che c'era solo nell'originale e "aggiunto" ciò che c'è solo nella versione modificata. Il risultato è il numero minimo di modifiche necessarie per trasformare un testo nell'altro. Per testi lunghi l'algoritmo applica euristiche che privilegiano la velocità mantenendo risultati accurati per file sotto i 10.000 token.

Casi d'uso reali

Code review senza Git: quando ricevi un file modificato via email o Slack, il diff viewer mostra immediatamente cosa è cambiato senza dover aprire un terminale. Confronto configurazioni: due versioni di nginx.conf, docker-compose.yml o .env — le differenze critiche emergono subito, incluse righe spostate o commentate. Confronto output API: due risposte JSON da staging e production — utile per trovare regressioni silenziose. Revisione documenti: due versioni di una specifica tecnica, un contratto o un testo legale. Debug dati: due dump CSV o SQL per trovare discrepanze tra export successivi.

Diff locale vs questo tool

Da terminale: diff file1 file2 (Linux/macOS) o fc file1 file2 (Windows). Con contesto: diff -u file1 file2. Per directory intere: diff -r dir1/ dir2/. In Git: git diff o git diff HEAD~1 per confrontare con il commit precedente. Questo tool è più comodo quando il testo proviene da fonti diverse — email, chat, log, clipboard — senza essere salvato in file, e quando si vuole un output visivo colorato senza configurare nulla.

Leggere il formato unified diff

Il formato di git diff usa prefissi: - per righe rimosse, + per righe aggiunte, spazio per righe invariate. L'header @@ -n,m +p,q @@ indica: nel file originale dalla riga n per m righe; nel modificato dalla riga p per q righe. Conoscere questa notazione è utile quando si leggono diff in pull request o in output di CI/CD senza interfaccia grafica.

Whitespace, encoding e casi limite

Il diff è sensibile agli spazi: una riga con uno spazio finale diverso viene marcata come modificata. Se i testi provengono da sistemi operativi diversi, i caratteri di fine riga (CRLF su Windows vs LF su Unix) possono rendere ogni riga "diversa" anche se il contenuto è identico. In questi casi normalizza prima il testo con un editor che mostri i caratteri non stampabili. Lo stesso vale per file con BOM (Byte Order Mark) UTF-8: alcuni editor li aggiungono in modo invisibile.

FAQ

Supporta file binari?

No — il diff è progettato per testo. Per documenti Word usa la funzione "Rileva modifiche" integrata in Word. Per PDF esistono tool specializzati come diff-pdf. Per immagini non esiste un "diff" visivo utile — il confronto va fatto a livello di metadati o dimensioni.

Il tool è case-sensitive?

Sì, per default. "Mario" e "mario" vengono trattati come righe diverse. Se vuoi un confronto case-insensitive, converti prima entrambi i testi in minuscolo con qualsiasi editor o con il Contatore Parole di questo sito, che permette di copiare il testo elaborato.

Come confrontare due JSON strutturalmente?

Per un diff che ignora l'ordine delle chiavi usa il tool JSON Diff — confronta la struttura semantica, non la rappresentazione testuale. Per un diff testuale riga per riga, formatta prima entrambi con JSON Beautifier con la stessa indentazione (2 o 4 spazi), poi incollali qui. Le chiavi appariranno nello stesso ordine e il diff sarà leggibile.

Quante righe posso confrontare?

Non c'è un limite rigido, ma oltre le 5.000–10.000 righe per pannello il browser può rallentare visibilmente. Per file molto grandi (log di server, dump SQL) è preferibile usare diff da terminale o un editor come VS Code con l'estensione "Compare Files".

I dati incollati vengono salvati?

No. Il confronto avviene interamente nel browser — nessun dato viene inviato a server. Puoi incollare codice proprietario, file di configurazione con credenziali o documenti riservati senza rischi.