Comparateur de code
Comparez deux versions d'un code côte à côte ou en vue unifiée, avec coloration syntaxique, numéros de ligne, options d'espaces et export au format diff.
Comment comparer deux extraits de code
- Collez l’ancienne version dans Code original et la nouvelle dans Code modifié.
- Choisissez le Langage ou laissez Détection automatique : l’outil devine le langage et l’indique à côté des statistiques.
- Choisissez l’Affichage : Côte à côte ou En ligne (unifié).
- Réglez les options : Ignorer les espaces et l’indentation, Ignorer la casse, Surligner les mots modifiés et Afficher seulement les modifications (3 lignes de contexte).
- Cliquez sur Comparer. Après la première comparaison, le résultat suit vos modifications pendant la saisie.
- Cliquez sur Copier au format diff unifié ou Télécharger le .diff pour réutiliser les changements sous forme de patch.
Le bouton Inverser échange les deux versions : les ajouts deviennent des suppressions, et inversement.
Lire le résultat
Les lignes supprimées sont teintées en rouge et appartiennent à l’original ; les lignes ajoutées sont teintées en vert et appartiennent à la nouvelle version. Chaque ligne garde son numéro dans son propre fichier, pour la retrouver directement dans votre éditeur.
- Côte à côte présente les deux fichiers en deux colonnes numérotées. Une ligne modifiée apparaît en face de sa nouvelle version. Avec Surligner les mots modifiés, les mots changés à l’intérieur de la ligne sont marqués ; sans cette option, les deux lignes gardent toute leur coloration syntaxique.
- En ligne (unifié) affiche une seule colonne, comme dans une revue de code : pour chaque bloc modifié, les lignes supprimées (−) viennent d’abord, puis les lignes ajoutées (+), avec l’ancien et le nouveau numéro de ligne.
- Afficher seulement les modifications (3 lignes de contexte) replie les longues parties inchangées derrière un repère « ⋯ N lignes inchangées », bien pratique pour relire un gros fichier.
La ligne de statistiques compte les lignes ajoutées, supprimées et inchangées.
La coloration syntaxique
La coloration est faite dans votre navigateur par highlight.js. Seule la grammaire du langage choisi est chargée, lors de la première comparaison, pour garder la page légère. Langages pris en charge : JavaScript, TypeScript, Python, Java, C#, C / C++, Go, Rust, PHP, Ruby, CSS, HTML / XML, JSON, YAML, SQL, Bash / Shell et Markdown. La détection automatique repose sur des indices simples (mots-clés, accolades, analyse JSON) ; si elle se trompe, choisissez le langage vous-même ou sélectionnez Texte brut.
Espaces, indentation et fins de ligne
Ignorer les espaces et l’indentation compare les lignes après avoir retiré les espaces en début et en fin de ligne et réduit les suites d’espaces et de tabulations : un fichier réindenté de 2 à 4 espaces, ou passé des tabulations aux espaces, n’affiche aucune différence. Les fins de ligne Windows (CRLF) et Unix (LF) sont uniformisées avant la comparaison ; un fichier dont seules les fins de ligne ont changé est donc signalé comme identique. Attention : l’indentation a un sens en Python, en YAML et dans les Makefile. Désactivez l’option dans ces cas-là.
Le format diff unifié
Le patch exporté suit le format unifié standard, lu par git apply, patch et les outils de revue de code : un en-tête avec les deux noms de fichiers, puis des blocs commençant par @@ -a,b +c,d @@, avec trois lignes de contexte autour de chaque modification. Les fichiers s’appellent original et changed, avec l’extension du langage.
Questions fréquentes
Mon code est-il envoyé sur un serveur ?
Non. La comparaison et la coloration s’effectuent localement dans votre navigateur ; le code ne quitte jamais votre appareil.
Quelle différence avec le comparateur de texte ?
Il utilise le même moteur de comparaison ligne à ligne, mais ajoute la coloration syntaxique, la vue unifiée, le repli du contexte et une gestion des espaces pensée pour le code.
Pourquoi deux lignes identiques en apparence sont-elles signalées ?
Elles diffèrent sans doute par des caractères invisibles : espaces en fin de ligne, tabulation au lieu d’espaces ou espace insécable. Cochez Ignorer les espaces et l’indentation pour en avoir le cœur net.
Puis-je appliquer le patch téléchargé avec Git ?
Oui. Enregistrez-le et lancez patch original.js < changes.diff, ou adaptez les noms de fichiers de l’en-tête et utilisez git apply.
Quelle taille peuvent faire les extraits ?
Plusieurs milliers de lignes se comparent rapidement. Si deux très gros fichiers sont entièrement différents, l’outil s’arrête après quelques secondes et vous invite à comparer des parties plus courtes.
Outils similaires
- Comparateur de texte Comparez deux textes et repérez chaque différence côte à côte ou en ligne, par ligne, par mot ou par caractère. Comparateur privé, dans votre navigateur.
- Formateur et validateur JSON Formateur et validateur JSON gratuit qui indente, minifie et vérifie votre JSON dans le navigateur, avec erreurs signalées par ligne et colonne.
- Testeur d'expressions régulières Testez vos expressions régulières JavaScript en direct : correspondances surlignées, groupes de capture, remplacement et explication de chaque élément.