Comparateur de texte (diff) — comparer deux textes ou fichiers JSON côte à côte

Comparez deux versions d’un texte, d’un code ou d’un fichier JSON et voyez exactement quelles lignes, quels mots et quels caractères ont changé.

Un problème, ou quelque chose à améliorer ? Nous lisons chaque message et corrigeons vite.

Ce comparateur de texte gratuit compare deux textes et montre ce qui a changé, ligne par ligne, en surlignant les mots ou caractères modifiés à l’intérieur de chaque ligne. Utilisez-le pour comparer deux versions d’un contrat, deux versions d’un fichier de configuration, un article retouché et l’original, ou deux réponses d’API. Passez de la vue côte à côte à la vue unifiée, et ignorez les espaces ou la casse quand ces différences n’ont pas d’importance.

Le mode JSON analyse les deux côtés et compare les données plutôt que le texte : les clés réordonnées ne sont pas signalées comme des modifications, et chaque vraie différence est listée par chemin, comme $.scripts.dev passé de « next dev » à « next dev -p 3300 ». Les deux textes restent dans votre navigateur. Le diff utilise l’algorithme de Myers (celui de git diff et de GNU diff) et s’exécute avec une limite de temps : coller deux fichiers de 5 000 lignes ne bloque pas la page, et des entrées qui diffèrent presque partout sont signalées comme trop différentes au lieu de tourner indéfiniment.

Mode d’emploi

  1. Collez le texte original à gauche et le texte modifié à droite. La comparaison s’effectue pendant la saisie.
  2. Lisez le nombre de lignes ajoutées et supprimées, puis parcourez les lignes surlignées. Le rouge indique une suppression, le vert un ajout ; le surlignage plus foncé marque les mots exacts qui ont changé.
  3. Activez Ignorer les espaces pour du code réindenté, ou Ignorer la casse si les majuscules n’ont pas d’importance.
  4. Passez en mode JSON pour comparer deux documents JSON par structure et obtenir la liste des chemins modifiés.
  5. Copiez ou téléchargez le résultat sous forme de diff brut, ou appuyez sur Inverser les côtés pour inverser la comparaison.

Questions fréquentes

Comment comparer deux textes pour trouver les différences ?

Collez une version dans la zone Original et l’autre dans la zone Modifié. Les lignes supprimées s’affichent en rouge, les lignes ajoutées en vert, et les lignes modifiées dans les deux couleurs avec les mots changés surlignés. Les passages inchangés sont repliés pour vous permettre de passer d’une modification à l’autre ; désactivez Réduire les lignes inchangées pour tout voir.

Quelle est la différence entre le diff côte à côte et le diff unifié ?

La vue côte à côte place les deux versions dans des colonnes parallèles, ce qui est le plus lisible pour de la prose et des lignes courtes. La vue unifiée affiche une seule colonne, avec les lignes supprimées marquées − et les lignes ajoutées marquées +, le format utilisé par git et les fichiers patch, mieux adapté aux écrans étroits. Les deux vues montrent les mêmes modifications.

Puis-je comparer des fichiers JSON en ignorant l’ordre des clés ?

Oui. Passez en mode JSON. Les deux côtés sont analysés, et les objets sont comparés clé par clé quel que soit l’ordre d’apparition des clés, tandis que les tableaux sont comparés position par position, car l’ordre dans un tableau a généralement un sens. Vous obtenez un tableau de tous les chemins ajoutés, supprimés et modifiés, ainsi qu’un diff ligne par ligne des deux documents réindentés avec les clés triées.

Que fait l’option Ignorer les espaces ?

Elle traite toute suite d’espaces et de tabulations comme un seul espace et ignore les espaces en début et en fin de ligne pour décider si deux lignes correspondent. Cela masque les changements d’indentation et les espaces en fin de ligne, ce qui est utile quand du code a été reformaté. Les lignes restent affichées exactement comme vous les avez collées.

Y a-t-il une limite de taille ?

Pas de limite fixe. Des fichiers de plusieurs milliers de lignes se comparent en bien moins d’une seconde sur un portable, et les longues suites de lignes inchangées sont repliées pour que la page reste rapide. Si deux grandes entrées diffèrent sur presque chaque ligne, la comparaison s’arrête au bout de quelques secondes et vous le signale, au lieu de figer l’onglet.

Mon texte est-il envoyé sur un serveur ?

Non. La comparaison s’exécute en JavaScript dans votre navigateur, et rien de ce que vous collez n’est envoyé à un serveur ni stocké. L’outil convient donc aux contrats, au code source et aux fichiers de configuration contenant des secrets, même si la prudence habituelle sur ce que vous collez dans un site web reste de mise.

Comment un diff est calculé

Un diff cherche la plus longue suite de lignes que les deux versions ont en commun, dans l’ordre, et signale tout le reste comme supprimé ou ajouté. Cet outil utilise l’algorithme O(ND) d’Eugene Myers (1986) via la bibliothèque jsdiff : il est rapide quand les deux textes sont proches (D, le nombre de différences, est petit) et plus lent à mesure qu’ils divergent, d’où la limite de temps.

Une ligne modifiée est en réalité une ligne supprimée suivie d’une ligne ajoutée. Quand un bloc de suppressions jouxte un bloc d’ajouts, l’outil les associe ligne par ligne et effectue un second diff, plus fin, à l’intérieur de chaque paire, au niveau du mot ou du caractère. Le niveau du mot convient à la prose et à la plupart des codes ; le niveau du caractère montre précisément une faute de frappe d’une lettre ou un chiffre modifié.

Usages courants

• Contrats et politiques : voyez exactement quelles clauses une contrepartie a modifiées sans vous fier à son résumé des changements.

• Modifications de contenu : comparez un article publié avec la révision de l’éditeur avant de l’approuver.

• Configuration : comparez un fichier de configuration qui fonctionne avec un autre qui ne fonctionne pas, ou le fichier d’environnement de préproduction avec celui de production.

• Réponses d’API : collez deux réponses JSON en mode JSON pour voir quels champs ont changé d’une version à l’autre.

• Listes : comparez deux exports d’adresses e-mail ou de références (SKU). Triez-les d’abord avec le nettoyeur de texte pour que l’ordre ne crée pas de bruit.

Outils gratuits similaires

  • Nettoyeur de texte — Supprimez sauts de ligne, espaces superflus, doublons et caractères invisibles, triez les lignes et faites des rechercher-remplacer, en une seule passe.
  • Formateur JSON — Indentez, minifiez et validez du JSON, avec les erreurs d’analyse localisées par ligne et colonne. Dans votre navigateur, sans envoi.
  • Convertisseur de casse — Passez votre texte d’une casse à l’autre parmi douze en un clic, des MAJUSCULES et de la casse de phrase au camelCase, snake_case et kebab-case.
  • Compteur de mots — Comptez les mots, caractères, phrases et le temps de lecture, et vérifiez les limites de X, LinkedIn, Instagram, YouTube, du SEO et des SMS pendant la saisie.