Voyez exactement ce qui a changé entre deux versions.
Comparez deux textes ou deux versions d'un fichier et voyez exactement ce qui a changé : colonnes alignées, mots réécrits mis en évidence à l'intérieur de chaque ligne et un correctif unifié prêt à appliquer.
Aucune comparaison pour le moment
Mettez une version de chaque côté et appuyez sur Comparer. Tout se passe dans cet onglet : rien n'est envoyé.
Comment ça marche
Apportez les deux versions
Collez-les, déposez deux fichiers ou laissez un autre outil vous en passer un. Rien n'est envoyé, et rien n'est encore comparé.
Dites ce qui compte comme changement
Lignes, mots ou caractères ; ignorez l'indentation, la casse ou les lignes vides. Appuyez ensuite sur Comparer : l'étape coûteuse ne s'exécute que quand vous la demandez.
Lisez le résultat
Des colonnes alignées avec les mots réécrits mis en évidence, les blocs intacts repliés et le saut au changement suivant sur une seule touche.
Emportez-le
Un correctif unifié que git apply accepte, un rapport HTML autonome, ou le texte révisé envoyé directement dans un autre outil.
Myers, en espace linéaire
L'algorithme classique en O(ND) avec le raffinement diviser pour régner. La mémoire reste plate quel que soit l'écart entre les deux fichiers : 5 000 lignes se comparent en 7 ms environ, contre les 590 ms et 200 Mo que coûte une matrice LCS ordinaire.
Mise en évidence au mot près
Une ligne réécrite est comparée une seconde fois, mot par mot : ce qui s'allume, ce sont les trois caractères qui ont réellement bougé, pas un pavé rouge face à un pavé vert.
L'indentation est facultative
Réindentez un fichier et une comparaison littérale déclare chaque ligne différente. Ignorez les espaces de fin, tous les espaces, la casse ou les lignes vides et il ne reste que les vraies modifications.
Les blocs intacts se replient
Un changement dans un fichier de 4 000 lignes ne devrait pas obliger à parcourir 4 000 lignes. Gardez une, trois ou huit lignes de contexte et ouvrez n'importe quel bloc replié d'un clic.
Épinglez vous-même l'alignement
Quand deux blocs déplacés s'apparient mal, cliquez sur un numéro de ligne de chaque côté pour les épingler ensemble. Chaque côté d'une épingle est alors résolu à part, donc une correction ne dérange jamais le reste.
La coloration syntaxique reste intacte
Vingt-deux grammaires, chargées seulement quand le fichier en réclame une. Un mot modifié à l'intérieur d'une chaîne garde la couleur de chaîne et gagne le fond de modification, au lieu que l'un efface l'autre.
Un correctif qui s'applique vraiment
Une sortie au format diff unifié avec des en-têtes de bloc corrects, donc git apply et patch l'acceptent. Ou exportez un rapport HTML autonome, sans police, script ni ressource à héberger.
Les gros fichiers restent utilisables
Les grandes comparaisons partent dans un web worker pour que les éditeurs continuent de répondre, seules les lignes à l'écran sont montées, et l'annulation stocke les caractères modifiés plutôt qu'une copie du document.
Voyez exactement ce qui a changé entre deux versions.
Un diff est souvent la première chose que l'on lance sur ce qu'on n'a pas le droit de partager : une configuration contenant des identifiants, un contrat avant signature, un export médical, le devis d'un concurrent. DiffSnap calcule la comparaison dans cet onglet, donc les deux documents restent sur la machine où vous les avez ouverts.
L'algorithme de Myers, exécuté sur votre machine
La comparaison est l'algorithme de différences en O(ND) de Myers avec le raffinement en espace linéaire, écrit en JavaScript et exécuté sur votre propre machine. Pas d'étape d'envoi, pas de serveur, aucune requête transportant votre texte : coupez la connexion une fois la page chargée et tout continue de fonctionner.
Un comparateur pensé pour les fichiers que les gens comparent vraiment.
Vérifier ce qu'un collègue a touché dans une configuration avant la mise en production, retrouver la clause qui a bougé entre deux brouillons d'un contrat, prouver qu'une traduction correspond bien à sa source, relire un correctif sur une machine sans git, et trancher laquelle de deux exportations est la bonne.
Les documents qui méritent une comparaison sont rarement publics : fichiers d'environnement contenant des clés, accords sous confidentialité, exports contenant des données clients. Les coller dans un service de comparaison hébergé livre les deux versions entières au serveur de quelqu'un d'autre. Ici elles ne quittent jamais l'onglet : il n'y a donc rien à journaliser, mettre en cache ou laisser fuiter.
Questions fréquentes
QQuelle taille de fichier accepte-t-il ?+
Les fichiers jusqu'à 32 Mo s'ouvrent, et tout ce qui dépasse 512 Ko attend derrière un clic au lieu d'atterrir dans l'éditeur sans prévenir. Au-delà d'environ 120 000 caractères, la comparaison part dans un web worker pour que la page continue de répondre. Deux fichiers qui n'ont presque rien en commun atteignent une limite de travail et sont déclarés entièrement réécrits : l'outil le dit à l'écran plutôt que de faire semblant.
QMes fichiers sont-ils envoyés à un serveur ?+
Non. Il n'y a ni envoi ni serveur : la comparaison, la coloration et tous les exports s'exécutent dans votre onglet. Vous pouvez couper le réseau une fois la page chargée et continuer à vous en servir.
QPourquoi dit-il que tout a changé alors que j'ai seulement réindenté ?+
Parce que par défaut chaque caractère compte, espaces et tabulations comprises. Passez l'option d'espaces sur « Ignorer tous les espaces » et il ne restera que les vraies modifications. Des options équivalentes existent pour la casse et les lignes vides.
QColore-t-il la syntaxe ?+
Oui : vingt-deux grammaires, détectées d'après l'extension du fichier ou la forme du texte, et chargées uniquement quand une comparaison en a besoin. La coloration syntaxique et la mise en évidence des mots modifiés sont dessinées ensemble, donc aucune ne masque l'autre.
QPuis-je exporter le résultat ?+
Oui. Un .patch unifié aux en-têtes de bloc corrects que git apply et patch acceptent, un rapport HTML autonome sans rien d'externe à charger, un résumé en texte brut pour un message de commit ou un ticket, et le texte révisé seul.
QLes deux versions se sont mal alignées. Puis-je corriger ?+
Oui. Cliquez sur un numéro de ligne d'un côté puis sur la ligne correspondante de l'autre : la paire est épinglée. Tout ce qui précède et suit chaque épingle est comparé indépendamment, donc une correction ne décale jamais le reste du fichier.