Comparateur de texte (Diff)
Collez deux textes et voyez les différences surlignées.
Différence
- Collez le texte original dans Texte A.
- Collez la version modifiée dans Texte B.
- Choisissez Lignes pour le code/la config ou Mots pour la prose.
- Activez Ignorer les espaces ou Ignorer la casse si des changements invisibles ajoutent du bruit.
- Lisez la sortie surlignée ci-dessous — vert c'est ajouté, rouge c'est supprimé.
Que fait-il ?
Le comparateur lit deux textes et montre exactement ce qui a été ajouté, supprimé ou laissé inchangé. Le mode Lignes traite chaque ligne comme une unité — idéal pour le code source et les fichiers de configuration où toute la ligne change généralement. Le mode Mots découpe sur les espaces et convient mieux à la prose, où les modifications au niveau du token comptent.
Exemple
Texte A :
function greet(name) {
console.log("Hello, " + name);
} Texte B :
function greet(name) {
if (!name) name = "world";
console.log(`Hello, ${name}!`);
} Différence en mode lignes :
function greet(name) {
+ if (!name) name = "world";
- console.log("Hello, " + name);
+ console.log(`Hello, ${name}!`);
} Erreurs courantes et pièges
Quand deux lignes semblent identiques mais que le diff les marque comme modifiées, la cause est presque toujours un caractère invisible ou une différence de casse. Voici les suspects habituels.
- Fins de ligne CRLF vs LF. Les fichiers Windows terminent les lignes par \r\n, Unix par \n. Même un écart d'un caractère marque chaque ligne. Résolvez en activant Ignorer les espaces, ou normalisez avec dos2unix / les réglages de votre éditeur.
- Espaces en fin de ligne. Sauf à ignorer les espaces, "foo " et "foo" diffèrent. Un enregistrement qui supprime les espaces finaux fera paraître chaque ligne modifiée.
- Tabulations vs espaces. Un reformattage qui remplace les tabulations par des espaces (ou l'inverse) fait paraître différentes toutes les lignes indentées en mode strict. Activez Ignorer les espaces, ou reformattez d'abord les deux côtés de la même manière.
- Marque d'ordre d'octets (BOM). Les fichiers enregistrés en UTF-8 avec BOM commencent par un invisible. Cette première "ligne" apparaîtra toujours comme modifiée face à un fichier sans BOM. Retirez le BOM dans votre éditeur ou un éditeur hex avant de coller.
- Guillemets typographiques ou espaces insécables. Coller depuis un traitement de texte peut transformer " en " ou un espace normal en espace insécable. Identiques à l'œil, mais points de code différents. Normalisez en ASCII brut avant de comparer.
- Différences de casse uniquement. API et api sont des chaînes différentes à moins d'activer Ignorer la casse. Les correspondances affichent toujours le texte original ; seule la comparaison est assouplie.
Questions fréquentes
Quelle est la différence entre le mode lignes et le mode mots ?
Le mode lignes compare ligne par ligne — si un seul caractère change, toute la ligne est marquée supprimée dans A et ajoutée dans B. Le mode mots découpe sur les espaces et donne un diff plus fin, mieux adapté à la prose. Pour le code et la config, le mode lignes est presque toujours ce qu'il faut.
Pourquoi des lignes identiques apparaissent-elles comme modifiées ?
En général l'une de trois différences invisibles : fins de ligne (CRLF sous Windows vs LF sous Unix), espaces finaux, ou marque d'ordre d'octets (BOM) en début de fichier. Activez « Ignorer les espaces » pour les deux premières. Pour le BOM, ouvrez le fichier dans un éditeur hex ou retirez les octets de tête avant de coller.
Compare-t-il caractère par caractère ?
Non. En mode lignes il compare par ligne ; en mode mots, par token séparé par des espaces. Un diff au niveau caractère donne un rendu bruyant pour la plupart des textes réels. Pour une comparaison caractère sur des chaînes courtes, collez-les en mode mots — sans espace, chaque caractère est effectivement son propre token.
Quelle taille d'entrées est acceptée ?
Le diff s'exécute en mémoire, la limite pratique est donc la RAM du navigateur. Quelques Mo par côté passent bien ; des dizaines de Mo peuvent figer brièvement l'onglet, car rendre le HTML surligné est plus lent que le diff. Pour des fichiers très gros, utilisez GNU diff ou git diff en local.
Puis-je ignorer la casse ou les espaces ?
Oui — les deux sont des bascules dans la barre d'outils. « Ignorer les espaces » considère toute suite d'espaces comme équivalente, pratique pour du code reformaté. « Ignorer la casse » rend « Hello » et « hello » équivalents. Le texte affiché reste l'original ; seule la comparaison est assouplie.
Enregistrez-vous le texte collé dans les deux zones ?
Non. Rien de ce que vous collez ici — « avant » comme « après » — n'est conservé. Ce que vous comparez disparaît dès la fermeture ou l'actualisation de la page. Pas de journaux, pas d'analyse de votre contenu. Pour vous rassurer, les outils de développement de votre navigateur le montrent.