100 % local — vos données ne quittent jamais votre navigateur

Diff de texte — un patch à coller dans un ticket

Comparez deux textes ligne à ligne et obtenez un diff unifié, la forme même qu’affiche git, prêt à coller dans un ticket, une revue ou un message.

Instantané Privé Zéro cookie

Original

Modifié

Différences

Ce que fait cet outil

Deux textes entrent, un diff unifié sort.

version: 1          version: 2
name: demo          name: demo
port: 8080          port: 8080
                    debug: true
@@ -1,3 +1,4 @@
-version: 1
+version: 2
 name: demo
 port: 8080
+debug: true

La comparaison emploie l’algorithme de Myers — celui derrière git diff — si bien que le résultat est le plus petit ensemble de changements plutôt que le premier trouvé. Deux textes identiques donnent un résultat vide, ce qui est la réponse que vous vouliez.

Lire la sortie

  • @@ -1,3 +1,4 @@ — où se situe le changement : trois lignes à partir de la ligne 1 à gauche, quatre à partir de la ligne 1 à droite.
  • - — la ligne est dans le premier texte et pas dans le second.
  • + — la ligne est dans le second et pas dans le premier.
  • Une espace en tête — la ligne est inchangée, montrée pour le contexte. Trois lignes de chaque côté, comme le fait Git par défaut.

Quand deux lignes d’apparence identique diffèrent

-a
+a

Rien à voir, et pourtant ce n’est pas la même ligne. Les coupables habituels : une espace en fin de ligne, une tabulation contre des espaces, et une fin de ligne Windows \r\n contre un \n Unix — un fichier édité sur deux machines les collectionne toutes les trois. La comparaison lit les caractères exacts : elle signale donc une différence qu’elle ne peut pas vous montrer.

cat -A sous Unix affiche un $ en fin de ligne et un ^M pour un retour chariot ; la plupart des éditeurs ont un interrupteur « afficher les espaces ». L’un ou l’autre rend la différence visible en une seconde.

Ce qu’il ne fait pas

  • La mise en évidence au mot près. Un caractère changé marque la ligne entière.
  • La détection de renommage ou de déplacement. Un bloc déplacé se lit comme une suppression et un ajout, pas comme un déplacement.
  • Une fusion à trois branches. Il compare deux textes ; il ne les réconcilie pas.
  • Le marqueur \ No newline at end of file. Un texte qui finit par un saut de ligne contre un autre qui n’en a pas apparaît comme une ligne vide ajoutée, ce qui est la même information sous une forme plus simple.

Confidentiel par conception

Tout s’exécute localement dans votre navigateur en JavaScript. Vos données ne sont jamais envoyées sur un serveur, ce qui rend l’outil sûr pour des contenus sensibles, et il fonctionne hors ligne.

Questions fréquentes

Deux lignes semblent identiques mais apparaissent en `-` et `+`. Pourquoi ?
Parce que la différence est invisible. Une espace en fin de ligne, une tabulation là où l’autre côté a des espaces, ou une fin de ligne Windows (`\r\n` contre `\n`) changent la ligne sans changer ce que vous voyez. La comparaison porte sur les caractères exacts, comme celle de Git. Pour les voir, passez le texte dans `cat -A` sous Unix, ou activez « afficher les espaces » dans votre éditeur.
Que veulent dire les lignes `@@` ?
Elles situent le changement : `@@ -1,3 +1,4 @@` signifie « à partir de la ligne 1, trois lignes à gauche ; à partir de la ligne 1, quatre lignes à droite ». En dessous, une ligne qui commence par `-` a été retirée, `+` ajoutée, et une espace veut dire inchangée — trois lignes de contexte sont gardées autour de chaque changement, le même défaut que Git.
Met-il en évidence le mot qui a changé ?
Non — la comparaison est ligne à ligne. Changez un caractère et la ligne entière apparaît retirée puis ajoutée. C’est ce qu’est un diff unifié, et c’est ce qui fait que la sortie se colle proprement dans un outil de revue ; une vue au mot près est autre chose, et un autre outil.

Convertisseurs associés