Diff Checker — Trouver les différences de texte
Comparez deux textes côte à côte avec ajouts, suppressions et lignes inchangées en couleur. Fonctionne instantanément, sans compte.
Qu'est-ce que Diff Checker ?
Diff Checker est un outil en ligne gratuit qui compare deux blocs de texte et met en évidence chaque différence entre eux. Collez votre texte original à gauche et la version modifiée à droite, et l'outil vous montre immédiatement ce qui a été ajouté, supprimé ou laissé inchangé — jusqu'au niveau du caractère.
L'outil résout un problème courant pour les développeurs, les rédacteurs et toute personne devant auditer des modifications : lire manuellement deux textes similaires pour trouver des divergences est lent et sujet aux erreurs. Diff Checker automatise ce travail en utilisant l'algorithme diff-match-patch, la même technique utilisée par les systèmes professionnels de révision de code. Le traitement s'effectue entièrement dans votre navigateur — aucun texte n'est transmis à un serveur, ce qui le rend sûr pour les documents confidentiels, le code source et les données propriétaires.
Fonctionnalités principales
- Comparaison de texte côte à côte — La vue par défaut place l'Original à gauche et le Modifié à droite pour vous permettre de suivre visuellement où les lignes divergent. Les deux panneaux sont défilables et redimensionnables indépendamment.
- Mise en évidence du diff ligne par ligne — Chaque ligne est colorée : fond vert pour les insertions, fond rouge pour les suppressions, et pas de fond pour le contenu inchangé. Les numéros de ligne apparaissent à côté de chaque ligne dans les deux panneaux.
- Détection du diff au niveau des caractères — La bibliothèque
diff-match-patchsous-jacente utilise une passe de nettoyage sémantique (diff_cleanupSemantic) après le calcul du diff brut. Cela signifie que l'outil regroupe les modifications connexes dans les unités les plus lisibles plutôt que de diviser les mots arbitrairement. - Basculement de la vue en ligne — Cliquez sur le bouton de basculement de vue pour passer de la disposition à deux colonnes à un flux continu unique montrant les suppressions et les insertions entrelacées dans l'ordre du document. Utile lorsque la séquence est plus importante que l'alignement côte à côte.
- Échanger les textes — Un clic échange le contenu des deux panneaux, afin que vous puissiez inverser quelle version est traitée comme l'original.
- Copier les résultats du diff — Copie le diff au format unified-diff (lignes préfixées par
+,-ou deux espaces) prêt à coller dans un ticket, un e-mail ou un message de commit. - Statistiques de caractères en direct — Une barre de statut affiche le nombre total de caractères ajoutés, supprimés et inchangés, mis à jour en temps réel au fur et à mesure que vous tapez.
Comment utiliser Diff Checker
Étape 1 : Collez votre texte original
Cliquez sur la zone de texte gauche étiquetée « Text A » et collez ou tapez la version de base de votre contenu. C'est le texte à partir duquel vous comparez. La zone de texte accepte le texte brut, le code, les fichiers de configuration, JSON ou tout autre contenu basé sur des caractères.
Étape 2 : Collez votre texte modifié
Cliquez sur la zone de texte droite étiquetée « Text B » et collez la version plus récente ou altérée. L'outil commence à calculer le diff dès que les deux champs contiennent du contenu — il n'y a pas de bouton d'envoi à appuyer.
Étape 3 : Lisez la sortie du diff
Faites défiler au-delà de la barre d'action jusqu'au panneau « Differences ». En mode côte à côte, vous verrez :
- Panneau Original à gauche — les lignes supprimées apparaissent en rouge
- Panneau Modified à droite — les lignes ajoutées apparaissent en vert
- Les lignes présentes dans les deux versions apparaissent sans couleur de fond
Chaque ligne porte un numéro de ligne sur le bord gauche. Les numéros sont indépendants par panneau : si trois lignes ont été supprimées de l'original, la numérotation du panneau Modified sera inférieure à celle du panneau Original à ce stade.
Exemple : comparaison de deux versions d'une configuration JSON :
Text A (original) :
{
"timeout": 30,
"retries": 3,
"endpoint": "https://api.example.com/v1"
}
Text B (modified) :
{
"timeout": 60,
"retries": 5,
"endpoint": "https://api.example.com/v2",
"auth": "bearer"
}
La sortie du diff met en évidence 30 → 60, 3 → 5, v1 → v2, et la ligne "auth" nouvellement insérée en vert.
Étape 4 : Passez en vue en ligne si nécessaire
Cliquez sur le bouton de basculement de vue dans la barre d'action. L'étiquette indique « Inline » lorsque vous êtes en mode côte à côte (cliquer bascule en ligne) et « Side by Side » lorsque vous êtes en mode en ligne. En vue en ligne, toutes les lignes apparaissent dans l'ordre du document : les lignes supprimées en rouge immédiatement suivies de leurs lignes de remplacement en vert.
Étape 5 : Copier ou effacer
Cliquez sur « Copy Diff » pour copier le résultat au format unified diff. Chaque segment supprimé est préfixé par - et chaque segment inséré par + , rendant la sortie compatible avec les outils de patch et la documentation. Cliquez sur « Clear » pour vider les deux zones de texte et commencer une nouvelle comparaison. Utilisez « Swap » pour inverser les deux textes lorsque vous souhaitez inverser la direction de la comparaison.
Exemples pratiques
Révision des changements de configuration avant le déploiement
Un ingénieur DevOps dispose de deux versions d'un Kubernetes ConfigMap et doit confirmer que seules les limites de ressources ont changé avant de promouvoir en production. Il colle le YAML actuel dans Text A et le YAML proposé dans Text B. Le diff met en évidence les deux lignes modifiées (cpu: "250m" → cpu: "500m" et memory: "256Mi" → memory: "512Mi") parmi des dizaines de lignes inchangées, confirmant la portée du changement en quelques secondes.
Audit d'une révision de contrat
Un assistant juridique reçoit un accord de service révisé et doit identifier chaque modification par rapport à l'original signé. Coller les deux versions dans le diff checker met en évidence chaque phrase modifiée en rouge et vert. Passer en vue en ligne facilite la lecture du document dans l'ordre et permet de repérer si des clauses critiques ont été silencieusement reformulées.
Débogage d'un échec de test inattendu
La suite de tests d'un développeur a commencé à échouer après qu'un collègue a fusionné une branche de fonctionnalité. Il copie la chaîne de sortie attendue du fixture de test dans Text A et la sortie réelle du test runner dans Text B. Le diff au niveau des caractères révèle une différence de saut de ligne final invisible dans un éditeur de texte normal — une correction rapide qui aurait pris beaucoup plus de temps à trouver manuellement.
Conseils et bonnes pratiques
Utilisez les statistiques de caractères pour évaluer la portée du changement. Les compteurs verts +N added et rouges -N removed à droite de la barre d'action mesurent les caractères, pas les lignes. Un nombre élevé de suppressions par rapport aux insertions signifie souvent que le contenu a été réécrit plutôt qu'ajouté. Cela vous donne un signal rapide avant de lire le diff complet.
La vue en ligne est meilleure pour le texte narratif. Lors de la comparaison de prose, de documentation ou de texte juridique, la vue en ligne préserve le flux de lecture. La vue côte à côte est meilleure pour le code où l'alignement des lignes est important.
Les espaces comptent. Le moteur de diff traite les espaces et les tabulations comme des caractères significatifs. Si vous obtenez des différences inattendues dans le code, vérifiez si votre éditeur a introduit des espaces en fin de ligne ou changé l'indentation de tabulations à espaces.
Échanger pour générer un patch inverse. Si vous souhaitez annuler un changement, cliquez sur Swap pour inverser Text A et Text B. Le diff résultant peut être lu comme « ce qui devrait changer pour revenir à l'original. »
Redimensionnez les zones de texte. Les deux panneaux d'entrée ont une poignée resize-y en bas à droite. Faites-la glisser vers le bas pour les longs documents afin de réduire le défilement.
Problèmes courants et dépannage
« La sortie du diff affiche chaque ligne comme modifiée. » Cela signifie généralement que les deux textes utilisent des fins de ligne différentes (CRLF vs LF). Les applications Windows produisent souvent \r\n tandis que les outils Unix produisent \n. Collez votre texte dans un éditeur de texte brut qui normalise les fins de ligne avant de comparer.
« Le bouton 'Copy Diff' est désactivé. » Le bouton n'est activé que lorsque diffResult est non-null — ce qui signifie qu'au moins l'un des deux champs de texte doit contenir du contenu. Assurez-vous d'avoir collé du texte dans les deux champs.
« Les numéros de ligne semblent décalés entre les panneaux. » C'est un comportement attendu, pas un bug. Lorsque des lignes sont supprimées de l'original ou insérées dans la version modifiée, la numérotation dans chaque panneau compte de manière indépendante. Les numéros reflètent la position réelle de la ligne dans cette version du document.
« Les longues lignes débordent du panneau de sortie. » La sortie utilise whitespace-pre-wrap et break-all pour gérer les lignes très longues. Si une seule ligne semble toujours s'étendre au-delà de la zone visible, utilisez le défilement horizontal dans le panneau de sortie, ou passez en vue en ligne.
« Le diff divise les mots à des endroits inattendus. » La passe diff_cleanupSemantic regroupe les modifications pour produire des limites lisibles par l'homme, mais les mots très courts ou les caractères répétés peuvent toujours produire des divisions granulaires. C'est une propriété de l'algorithme de diff plutôt qu'une erreur.
Confidentialité et sécurité
Tout le traitement de comparaison s'exécute localement dans votre navigateur en utilisant la bibliothèque JavaScript diff-match-patch. Ni Text A ni Text B ne sont envoyés à un serveur à aucun moment. L'outil fonctionne sans connexion Internet une fois la page chargée. Cela le rend sûr à utiliser avec du code source, des fichiers de credentials, des documents juridiques, des dossiers médicaux ou tout autre contenu sensible qui ne devrait pas quitter votre appareil.
Foire aux questions
Diff Checker est-il gratuit ? Oui, entièrement gratuit sans limites d'utilisation. Aucun compte, abonnement ou paiement n'est requis pour utiliser une quelconque partie de l'outil.
Fonctionne-t-il hors ligne ? Une fois la page chargée, le moteur de comparaison s'exécute entièrement dans votre navigateur sans requêtes réseau. Vous pouvez vous déconnecter d'Internet et continuer à comparer des textes sans interruption.
Mes données sont-elles sécurisées ? Votre texte ne quitte jamais votre navigateur. Le diff est calculé dans le navigateur en utilisant JavaScript, donc aucun contenu n'est envoyé aux serveurs de Glyph Widgets ni à des tiers. Il est sûr pour le code source confidentiel, les contrats et les fichiers de configuration sensibles.
Quelle est la taille maximale de texte qu'il peut gérer ? Il n'y a pas de limite stricte imposée par l'outil. La mémoire du navigateur est la contrainte pratique. Les textes jusqu'à plusieurs mégaoctets se comparent rapidement ; les très gros fichiers (dizaines de mégaoctets) peuvent ralentir la page selon votre appareil.
Peut-il comparer des fichiers de code ? Oui. L'outil gère tout contenu en texte brut incluant JavaScript, Python, SQL, HTML, CSS, JSON, YAML, Markdown et les fichiers de configuration. Il n'applique pas d'analyse spécifique au langage — il traite toutes les entrées comme du texte brut, ce qui signifie que le diff est précis au niveau du caractère pour tout type de fichier.
Quelle est la différence entre la vue côte à côte et la vue en ligne ? La vue côte à côte affiche l'Original à gauche et le Modifié à droite simultanément, vous permettant de comparer les sections correspondantes d'un coup d'œil. La vue en ligne affiche un flux de texte unique où les segments supprimés et insérés apparaissent séquentiellement au point de changement. La vue en ligne est souvent plus facile à lire pour la prose ; la vue côte à côte est plus facile pour le code.
Quel format produit « Copy Diff » ? Le texte copié utilise un format unified diff simplifié : les lignes préfixées par - sont des suppressions, les lignes préfixées par + sont des insertions, et les lignes inchangées sont préfixées par deux espaces. Ce format est largement compatible avec les visionneuses de diff, les outils de documentation et les utilitaires de patch.
Puis-je échanger les deux textes sans les retaper ? Cliquez sur le bouton « Swap » dans la barre d'action. Il échange instantanément le contenu de Text A et Text B. Le diff se recalcule immédiatement pour refléter la direction inversée.
Détecte-t-il les blocs déplacés, ou seulement les ajouts et suppressions ? L'algorithme diff-match-patch traite un bloc déplacé comme une suppression à la position originale et une insertion à la nouvelle position. Il n'a pas de mode de détection de « déplacement » dédié.
Puis-je sauvegarder ma comparaison pour plus tard ? L'outil ne persiste pas les comparaisons entre les sessions par défaut. Les supporters premium peuvent utiliser le panneau Historique pour restaurer automatiquement les entrées de comparaison précédentes.
Outils associés
JSON Formatter — Formatez et validez JSON avant de comparer deux versions avec Diff Checker.
Text Diff — Une variante axée sur le texte adaptée à la comparaison de documents en prose et de contenu écrit.
JSON Formatter — Normalisez le formatage JSON avant de faire un diff pour éviter le bruit des espaces dans vos résultats.
Essayez Diff Checker maintenant : Diff Checker