Comparez deux textes ou codes avec surlignage par ligne et par mot. Côte à côte ou unifié, ignorer les espaces, ignorer la casse — entièrement dans votre navigateur.
Non. L'outil entier est du JavaScript qui s'exécute dans cette page. L'algorithme de diff (longest-common-subsequence) tourne sur votre processeur et le résultat est rendu directement dans le DOM. Ouvrez DevTools → Network et observez — aucune requête n'est envoyée pendant le diff. Sûr pour coller du code interne, des données clients, des brouillons de contrats ou tout ce que vous ne voudriez pas qu'un outil serveur enregistre.
Nous découpons d'abord les deux entrées en lignes et exécutons un algorithme LCS (longest common subsequence). Les lignes qui correspondent des deux côtés sont marquées comme égales. Les lignes qui ne correspondent pas sont appariées en lignes de « changement » lorsqu'un ajout apparaît à côté d'une suppression. Pour chaque changement apparié, nous exécutons un second LCS sur les mots de la ligne (séparés par des espaces) afin que seuls les mots réellement modifiés s'illuminent en rouge/vert — pas la ligne entière.
Pourquoi iKit Diff Checker
Un outil de diff de texte propre et rapide, sans publicités, pop-ups ni traceurs tiers — conçu pour les développeurs, rédacteurs et toute personne devant repérer ce qui a changé.
Vues côte à côte et unifiée
Basculez entre la vue divisée (deux colonnes, comme dans un IDE classique) et unifiée (une seule colonne avec marqueurs +/−) en un clic. Les deux vues affichent les numéros de ligne et surlignent chaque modification en ligne.
Surlignage au niveau du mot
Lorsque deux lignes diffèrent, nous exécutons un second diff au niveau du mot afin que seules les vraies différences ressortent — pas la ligne entière. Plus facile pour repérer une faute de frappe dans une ligne de 200 caractères.
Ignorer les espaces et la casse
Activez la sensibilité aux espaces et à la casse pour filtrer les modifications cosmétiques (indentation reformatée, ajustements de majuscules) et vous concentrer sur les vraies modifications.
Confidentialité par conception
Les deux textes restent dans l'onglet de votre navigateur. L'algorithme de diff s'exécute localement en JavaScript. Vérifiable dans DevTools → Network : aucune requête n'est envoyée pendant la saisie.
Statistiques et copie
Voyez d'un coup d'œil combien de lignes ont été ajoutées, supprimées ou modifiées. Un clic copie le diff dans votre presse-papiers pour le coller dans une revue de code ou un message de commit.
Fonctionne hors ligne
Une fois la page chargée, chaque octet est calculé localement. Fonctionne dans un avion, derrière un pare-feu d'entreprise ou sans réseau du tout — utile pour les revues de code confidentielles.
Comment fonctionne réellement un diff checker
Les mathématiques sous le capot sont plus anciennes que le web — un algorithme de 1965 appelé LCS, plus un raffinement de 1986 par Eugene Myers.
1
Découper en lignes
Les deux entrées sont découpées sur \n (ou \r\n). Chaque ligne devient un jeton. Nous comparons les jetons — pas les caractères — car la plupart des modifications dans le code ou les documents réels ajoutent, suppriment ou modifient des lignes entières.
2
Calculer le LCS
Le Longest Common Subsequence est le plus grand ensemble de lignes apparaissant dans le même ordre dans les deux entrées. Nous remplissons une table de programmation dynamique en partant du coin inférieur droit; chaque cellule contient la longueur du LCS de cette position jusqu'à la fin. Cela prend O(m × n) en temps et en mémoire.
3
Remonter pour dériver les opérations
En partant du coin supérieur gauche de la table, nous avançons : si les deux lignes courantes correspondent, on émet un égal; sinon on choisit la direction (droite ou bas) qui préserve la longueur du LCS, en émettant un delete ou un insert. Le résultat est une séquence d'opérations qui transforme l'Original en Modifié.
4
Diff au niveau du mot dans les paires modifiées
Lorsqu'une suppression est suivie d'un ajout, nous les apparions en une ligne de changement. Pour ne surligner que les parties qui diffèrent à l'intérieur de la ligne, nous exécutons le même algorithme LCS une seconde fois sur les mots de chaque côté, en séparant aux frontières d'espaces.
Tâches de diff courantes
Situations réelles où vous aurez recours à un diff checker.
Examiner une PR avant de commenter
La vue diff de GitHub est excellente, mais parfois vous voulez voir uniquement les changements substantiels sans le bruit du formateur. Collez les deux versions, activez Ignorer les espaces, et les reformats cosmétiques disparaissent — ne laissant que les modifications de logique.
Comparer deux brouillons de contrat
Les juristes et équipes opérationnelles ont souvent besoin de savoir ce qui a changé entre la v1 et la v2 d'un contrat. Collez les deux, obtenez un diff coloré avec surlignage par mot — sans Word, sans suivi des modifications, sans téléversement de clauses confidentielles vers un serveur tiers.
Vérifier ce qu'a vraiment fait une édition de script
Vous avez exécuté une regex sed/awk/Python sur un fichier de configuration ? Collez ici l'original et le résultat pour confirmer que le script n'a édité que ce qui était attendu. Le surlignage au niveau du caractère détecte les éditions parasites qu'un balayage visuel rapide manque.
Repérer une faute dans un texte traduit
Paire de traductions (source vs traduction, ou deux traductions de la même source) — le diff au niveau du mot rend trivial la recherche d'un mot manquant, d'une phrase dupliquée ou d'une inversion de ponctuation que les relecteurs ont laissée passer.
Pourquoi le diff local est important
Les textes que vous comparez sont généralement privés : code de dépôts internes, brouillons de contrats, exports de données clients ou copie de produit non publiée. Les coller sur le serveur d'un inconnu crée une trace que vous ne contrôlez pas. Le diff checker d'iKit est du JavaScript déjà chargé dans l'onglet de votre navigateur — la comparaison s'exécute sur votre processeur et ne touche jamais à un socket réseau.
Aucune requête réseau pendant le diff — vérifiable dans DevTools → Network.
Les entrées restent dans la mémoire du navigateur; effacées par Effacer ou rafraîchissement de la page.
Sûr pour le code interne, les documents sous NDA, les transcriptions de support client et tout ce qui relève des politiques de résidence des données.
Related guides
Deep-dive tutorials and tool comparisons from the iKit blog.
Non. L'outil entier est du JavaScript qui s'exécute dans cette page. L'algorithme de diff (longest-common-subsequence) tourne sur votre processeur et le résultat est rendu directement dans le DOM. Ouvrez DevTools → Network et observez — aucune requête n'est envoyée pendant le diff. Sûr pour coller du code interne, des données clients, des brouillons de contrats ou tout ce que vous ne voudriez pas qu'un outil serveur enregistre.
Comment fonctionne le surlignage par ligne et par mot ?
Nous découpons d'abord les deux entrées en lignes et exécutons un algorithme LCS (longest common subsequence). Les lignes qui correspondent des deux côtés sont marquées comme égales. Les lignes qui ne correspondent pas sont appariées en lignes de « changement » lorsqu'un ajout apparaît à côté d'une suppression. Pour chaque changement apparié, nous exécutons un second LCS sur les mots de la ligne (séparés par des espaces) afin que seuls les mots réellement modifiés s'illuminent en rouge/vert — pas la ligne entière.
Quelle est la différence entre la vue Divisée et Unifiée ?
La vue divisée affiche les deux textes côte à côte avec des numéros de ligne appariés — proche de l'affichage du diff dans les IDE (VS Code, JetBrains). La vue unifiée affiche une seule colonne avec des préfixes +/− — proche de ce qu'imprime `git diff`. Choisissez celle qui correspond à votre flux de travail; les deux affichent les mêmes données.
Pourquoi « ignorer les espaces » est-il utile ?
Reformater du code (exécuter Prettier, basculer entre tabulations et espaces, normaliser les fins de ligne) ajoute du bruit visuel qui masque les vraies modifications. Activer « Ignorer les espaces » réduit les suites d'espaces/tabulations à un seul espace et coupe les bords de ligne avant le diff — vous ne voyez ainsi que les modifications significatives, pas les cosmétiques.
Quelle est la plus grande entrée que je peux comparer dans le navigateur ?
L'algorithme LCS utilise une mémoire en O(m × n) où m et n sont les nombres de lignes de chaque côté. iKit limite la comparaison à environ 4 millions de cellules (≈16 MB), ce qui gère confortablement quelques milliers de lignes contre quelques milliers de lignes. Pour des diffs plus volumineux (dumps de bases de données entiers, journaux complets), utilisez un outil CLI comme `diff` ou `git diff --no-index` — ils utilisent un algorithme plus intelligent (Myers diff) qui passe à des millions de lignes.