Comparer des textes
Voyez exactement ce qui a changé entre deux versions.
- Entièrement gratuitSans compte, sans quota quotidien, sans offre payante.
- Rien n'est envoyéLes fichiers sont traités sur votre appareil et n'atteignent jamais un serveur.
- Aucune contrepartieSans filigrane, sans réduction imposée, sans limite de taille.
- Changements consignésChaque correction et chaque nouvel outil sont notés sur la page des nouveautés.
Ce que fait cet outil
Collez une version à gauche et l'autre à droite — à vous de décider quel côté est lequel — ou déposez un fichier sur l'une des deux zones, et les différences apparaissent à la place des zones : les lignes supprimées sont teintées de rouge à gauche, les lignes ajoutées de vert à droite, et dans une ligne modifiée, les mots exacts qui diffèrent sont marqués. La comparaison ligne à ligne suit la même approche que git : les lignes uniques servent d'ancres entre les deux versions et l'algorithme de Myers comble les écarts, si bien qu'un journal de 100 000 lignes avec quelques modifications est comparé en une fraction de seconde sur votre propre appareil.
Deux vues, trois précisions. « Côte à côte » place les versions en deux colonnes avec leurs propres numéros de ligne ; « Unifiée » est le format à une colonne de git et des outils de revue de code, avec les préfixes − et +. La précision décide comment une ligne modifiée est surlignée : « Ligne » marque la ligne entière, « Mot » marque les mots qui diffèrent (par défaut), « Caractère » marque les caractères un à un — le bon choix pour les hachages, identifiants et nombres. Rien ne quitte votre navigateur : pas d'envoi, pas de lien enregistré, pas de compte.
Mode d'emploi
Tapez ou collez dans les deux zones, ou cliquez sur « Choisir un fichier » d'un côté ou de l'autre ; le nom du fichier s'affiche alors dans l'en-tête de ce côté et dans l'en-tête du diff, pas besoin de se souvenir de quel fichier est allé où. Le résultat remplace les zones ; « Modifier » les ramène, et un double-clic sur une ligne du résultat renvoie directement à cette ligne pour la modifier. « Permuter » échange les deux côtés, « Charger l'exemple » remplit les deux avec une courte configuration pour montrer à quoi ressemble un résultat. La barre sous les zones porte les interrupteurs : « Ignorer la casse » traite A et a comme identiques ; « Ignorer les espaces » réduit les suites d'espaces et de tabulations et ignore les blancs en début et fin de ligne, ce qu'il faut pour du code reformaté ; « Modifications seules » replie les suites de lignes identiques à trois lignes de contexte de chaque côté, avec une barre à cliquer pour les déplier.
La ligne au-dessus du résultat compte les lignes ajoutées et supprimées et le nombre de blocs modifiés. ‹ › sautent d'un bloc au suivant — n et p font de même au clavier quand le résultat a le focus — et le bloc atteint reçoit un repère jaune dans sa colonne de numéros de ligne. « Copier le diff » place un diff unifié standard dans le presse-papiers ; « Télécharger le .diff » enregistre le même texte dans un fichier que git apply ou patch peuvent appliquer. Au-delà de 2 Mo au total, un bouton « Comparer » remplace la mise à jour à chaque frappe.
Quels fichiers peuvent être comparés
Tout ce qui est du texte en dessous. Documents et notes : .txt, .md, .rtf en texte brut, et sous-titres .srt ou .vtt. Exports de données : deux fichiers JSON, deux CSV ou TSV, XML et YAML — le moyen rapide de voir ce qui a changé entre deux réponses d'API ou deux dumps de base de données. Configuration : .ini, .toml, .env, .properties, .conf, un Dockerfile, une configuration nginx ou Apache, pour que le réglage qui a cassé le déploiement saute aux yeux. Code source dans n'importe quel langage : .js, .ts, .py, .go, .java, .c, .cpp, .rs, .php, .sql, .sh, plus .html et .css. Correctifs et journaux : .diff, .patch, .log. Word, PDF et Excel ne sont pas du texte — leur contenu est enfermé dans un conteneur binaire — ils sont donc refusés ici plutôt qu'affichés en charabia ; exportez-les d'abord en texte brut ou en CSV.
À savoir
Un diff est un choix, pas un fait : quand un bloc de lignes peut s'expliquer comme déplacé, ou comme supprimé puis rajouté, tout algorithme retient une lecture, et deux outils peuvent montrer la même modification différemment. Cet outil privilégie la lecture qui garde alignées les lignes uniques, celle qu'on attend de git. « Ignorer les espaces » compare les lignes avec les blancs réduits mais affiche toujours l'espacement d'origine dans le résultat. Les très longues lignes — un bundle JavaScript minifié, un export JSON sur une seule ligne — sont comparées en bloc au-delà de 4 000 caractères, car comparer mot à mot une ligne de 200 Ko ne donne rien de lisible. Le tableau de résultat affiche jusqu'à 8 000 lignes ; au-delà, utilisez « Modifications seules » ou téléchargez le .diff, qui est toujours complet. Les fichiers sont vérifiés avant chargement : tout contenu binaire, ou un fichier de plus de 20 Mo, est refusé avec un message plutôt qu'affiché en charabia.
Contexte : d'où vient diff
Le programme diff est arrivé avec Unix en 1974, écrit par Douglas McIlroy et James Hunt, et son format de sortie — des lignes préfixées par < et > — est encore ce qu'imprime la commande diff. Le format unifié, avec les préfixes − et + et les en-têtes de bloc @@, a été introduit par Wayne Davison en 1990 et adopté par GNU diff ; il est devenu la langue des correctifs : c'est ce qu'affichent git show, les pull requests de GitHub et tous les outils de revue de code. Eugene Myers a publié l'algorithme de différence en O(ND) en 1986 ; il trouve le script d'édition le plus court et constitue le cœur de GNU diff, de git et de la plupart des éditeurs. Bram Cohen a décrit la variante patience vers 2004 — s'ancrer sur les lignes qui n'apparaissent qu'une fois de chaque côté, puis comparer les intervalles — parce qu'elle produit des résultats plus lisibles sur du code réel. Cet outil utilise l'ancrage patience avec Myers dans les intervalles, et écrit le format unifié pour la copie et le téléchargement.
Où on s'en sert
Vérifier ce qu'un collègue a changé dans un contrat ou une politique avant de valider ; comparer deux exports d'une configuration pour trouver le réglage qui a cassé le déploiement ; confronter deux journaux, l'un d'une exécution réussie, l'autre d'un échec ; relire un fichier généré face à la version précédente ; s'assurer qu'une traduction a gardé chaque ligne de l'original. Pour des comptages plutôt que des différences, le Compteur de mots donne mots, caractères et temps de lecture ; pour des textes qui ne diffèrent que par l'écriture, le Convertisseur chinois passe du simplifié au traditionnel avant la comparaison. Un .diff téléchargé ici s'applique avec git apply ou patch sur n'importe quel système.
Questions fréquentes
Mon texte est-il envoyé quelque part ?
Non. La comparaison s'exécute dans votre navigateur et rien n'est envoyé, enregistré ni partagé. Fermez l'onglet et tout disparaît.
Que fait exactement « Ignorer les espaces » ?
Les suites d'espaces et de tabulations comptent pour un seul espace et les blancs en début et fin de ligne sont écartés lors de la comparaison. Le résultat affiche toujours l'espacement d'origine. Les changements d'indentation seuls disparaissent du diff.
Puis-je comparer deux fichiers au lieu de coller ?
Oui. Cliquez sur « Choisir un fichier » de chaque côté ou déposez un fichier sur la zone. Tout fichier texte convient — .txt, .md, .json, .csv, .log, code source. Les fichiers binaires et ceux de plus de 20 Mo sont refusés.
Quels types de fichiers puis-je comparer ?
Tout fichier texte : .txt, .md, .json, .csv, .xml, .yaml, .ini, .env, .log, .diff et du code source dans n'importe quel langage. Word, PDF et Excel sont des conteneurs binaires et sont refusés : exportez-les d'abord en texte brut ou en CSV.
Qu'est-ce que le .diff téléchargeable ?
Un diff unifié standard, le format de git et de patch. git apply modifications.diff sur le fichier d'origine produit la version modifiée.
Pourquoi le surlignage change-t-il en passant à « Caractère » ?
La précision « Mot » marque les mots entiers ; la précision « Caractère » marque les caractères précis qui diffèrent. Sur un identifiant ou un hachage modifié, la vue par caractère est plus serrée ; sur de la prose, la vue par mot se lit mieux.