Comparateur de texte et code : diff ligne par ligne
Collez l'original et la version modifiée pour voir les lignes ajoutées (+), supprimées (−) et inchangées.
Comparer deux textes ligne par ligne : comment lire le diff
L'outil compare deux textes ligne par ligne : une ligne présente des deux côtés est identique, une ligne qui n'existe que dans l'original est supprimée (−) et une ligne qui n'existe que dans la version modifiée est ajoutée (+). Sur l'exemple JSON fourni, il compte 5 ajouts, 4 suppressions et 3 lignes identiques.
L'algorithme
Les deux textes sont découpés aux retours à la ligne. L'outil calcule ensuite la plus longue sous-séquence commune des deux listes de lignes, comme git diff : ces lignes sont marquées identiques, les autres lignes de l'original sont supprimées et les autres lignes du texte modifié sont ajoutées. Quand des lignes sont remplacées, les suppressions s'affichent avant les ajouts.
Exemple recalculé
Dans le JSON d'exemple (7 lignes contre 8), l'accolade ouvrante, la ligne "status": "active" et l'accolade fermante sont identiques. Les lignes name, version, description et tools, modifiées, apparaissent chacune en suppression puis en ajout, et "theme": "dark" est un ajout pur : +5, −4, 3 identiques. Autre cas : a, b, c, d contre a, B, c, d, e donne +2, −1 et 3 identiques ; avec « Ignorer la casse », b et B deviennent égales et il reste +1 et 4 identiques.
Options et limites
- « Ignorer les espaces » retire les espaces de début et de fin de ligne et réduit les suites d'espaces à un seul ; « Ignorer la casse » compare en minuscules.
- La comparaison porte sur la ligne entière : un seul caractère changé marque toute la ligne, sans surlignage à l'intérieur.
- Un bloc inséré est reconnu : 11 lignes ajoutées en tête d'un texte de 15 lignes donnent 11 ajouts et 15 lignes identiques. Limite : une fois retirés le début et la fin communs, si la zone qui diffère dépasse environ 10 millions de cellules (lignes de l'original × lignes de la version modifiée, soit à peu près 3 160 lignes de chaque côté), elle est affichée d'un bloc, toutes ses lignes en suppressions puis en ajouts, même celles qui n'ont pas changé. Un bloc déplacé apparaît supprimé à son ancien emplacement et ajouté au nouveau.
Le bouton « Inverser les textes » (doubles flèches) échange l'original et la version modifiée. La comparaison se fait dans votre navigateur.
Questions fréquentes
Comment comparer deux versions d'un fichier de code ?
Collez l'original à gauche et la version modifiée à droite : l'outil affiche les lignes ajoutées en vert (+), supprimées en rouge (−) et le nombre de lignes identiques. Avec l'exemple JSON fourni, il trouve 5 ajouts, 4 suppressions et 3 lignes identiques.
Pourquoi une ligne modifiée apparaît-elle à la fois supprimée et ajoutée ?
L'outil compare des lignes entières, pas des caractères. Une ligne dont un seul mot change n'est plus égale à l'ancienne : elle est donc comptée comme une suppression (l'ancienne) suivie d'un ajout (la nouvelle). Passer "version": "1.0.0" à "2.0.0" ajoute ainsi +1 et −1 aux compteurs.
À quoi sert l'option « Ignorer les espaces » ?
Elle retire les espaces en début et en fin de ligne et ramène toute suite d'espaces à un seul avant de comparer. Un code simplement réindenté n'apparaît alors plus comme modifié.
L'outil détecte-t-il un bloc de lignes déplacé ?
Non : un bloc déplacé apparaît comme supprimé à son ancien emplacement et ajouté au nouveau. Le reste du texte reste bien aligné, quelle que soit la taille du bloc, car l'outil calcule la plus longue sous-séquence commune des deux textes, comme git diff.
L'outil est-il vraiment gratuit ?
Oui, l'intégralité des outils sur Kristools sont 100% gratuits et accessibles sans inscription.
Mes données sont-elles protégées ?
Oui. Tous les traitements sont effectués directement et en toute sécurité dans votre navigateur. Aucune donnée personnelle n'est envoyée vers nos serveurs.