Confronta due versioni di un testo e visualizza le differenze riga per riga con evidenziazione colorata. Ideale per codice, documenti e configurazioni.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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".
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.