FreeToGenerate.com

100 % gratuit · sans compte · calculé dans votre navigateur

Collez du texte dans les deux zones pour voir les différences.

La comparaison a lieu entièrement dans votre navigateur : rien n’est envoyé à un serveur, rien n’est conservé.

Aussi disponible en : English · Español · Português · العربية

Comparer deux textes en ligne

Un diff par lignes, mots ou caractères, calculé dans votre navigateur pendant que vous tapez — rien n’est envoyé, rien n’est gardé.

Ce qu’est un comparateur de texte

Un comparateur de texte prend deux versions d’un même contenu — un paragraphe retouché, un fichier de configuration, une clause de contrat renégociée — et affiche exactement ce qui a bougé entre les deux. Pas un résumé de ce qui a changé, mais la localisation précise : cette ligne-là, ce mot-là, ce caractère-là. Comparer deux textes à l’œil nu fonctionne pour trois lignes ; au-delà, on rate systématiquement quelque chose, surtout quand la différence tient à un mot ou à une espace perdue au milieu d’un bloc par ailleurs identique.

Cet outil sert aux développeurs qui veulent relire un diff avant de le coller dans une revue de code, aux rédacteurs qui comparent deux versions d’un article après relecture, aux correcteurs qui vérifient qu’une modification n’a touché que ce qu’elle devait toucher. Il tourne entièrement dans le navigateur : on colle, on compare, rien ne part ailleurs.

Comment ça marche

  1. Collez vos deux textes dans les zones Original et Modifié — le résultat se met à jour à chaque frappe, sans bouton à cliquer.
  2. Choisissez le grain de la comparaison avec les boutons Lignes, Mots ou Caractères, et cochez Ignorer la casse ou Ignorer les espaces si ces différences-là ne comptent pas pour vous. Inverser les deux côtés permet de relire le diff dans l’autre sens sans tout recopier.
  3. Lisez le résultat : en mode Lignes, une vue côte à côte numérotée où seuls les mots changés sont surlignés à l’intérieur de chaque ligne modifiée ; en Mots ou Caractères, deux panneaux avec les changements surlignés au fil du texte. Le compteur en bas résume tout, et Copier comme diff unifié récupère un patch prêt à coller.

Comment la comparaison fonctionne réellement

Sous le capot tourne l’algorithme de différences O(ND) publié par Eugene Myers en 1986 — la même famille que celle utilisée par git et par la commande diff d’Unix. L’approche naïve construit une table de plus longue sous-séquence commune de taille N x M : comparer deux fichiers de 2 000 lignes allouerait quatre millions de cases avant même de commencer à chercher une différence. Myers explore au contraire par distance d’édition croissante, si bien que le coût dépend de l’écart entre les deux textes, pas de leur longueur.

Concrètement : 4 000 lignes dont une seule a changé se comparent en 3,3 millisecondes, parce que l’algorithme s’arrête dès qu’il a trouvé un chemin d’édition de coût 2, sans jamais avoir besoin d’explorer les 3 998 lignes identiques. Le script produit est aussi garanti minimal — aucun autre ne transforme le premier texte en le second avec moins d’insertions et de suppressions — et cette garantie n’a pas été prise pour acquise ici : 14 641 paires de séquences (toutes les chaînes jusqu’à quatre symboles sur un alphabet de trois) ont été comparées à une distance d’édition calculée par force brute, plus 400 paires aléatoires plus longues, jusqu’à 40 éléments. Tous les scripts obtenus se sont révélés minimaux et ont reconstruit leur cible exactement.

Une fois les lignes modifiées repérées, chacune est comparée une seconde fois, mot à mot, plutôt que d’être surlignée en bloc. Sur « the quick brown fox » face à « the quick red fox », c’est exactement « brown » qui s’allume à gauche et « red » à droite — pas la ligne entière, ce qui serait vrai mais inutile pour repérer ce qui a réellement changé.

Les trois modes et ce que l’outil ne fait pas

Le mode Caractères compare des graphèmes, pas des unités de code JavaScript — une distinction qui saute aux yeux dès qu’un emoji composé entre en jeu. La famille 👨‍👩‍👧‍👦 est un seul caractère pour qui la lit, mais son .length vaut 11 en JavaScript ; la remplacer par 👍 donne ici 1 suppression et 1 ajout, là où un outil qui découpe par unité de code annoncerait 11 suppressions et 2 ajouts, et surlignerait n’importe quoi. Le découpage en lignes, lui, reconnaît les trois fins de ligne existantes — CRLF, LF et le CR isolé — pour qu’un même fichier enregistré sous Windows puis sous macOS ne ressorte pas comme entièrement réécrit, le faux positif le plus courant de ce genre d’outil.

La recherche est plafonnée à une distance d’édition de 3 000. Deux textes qui n’ont presque rien en commun dépassent vite ce seuil — 2 500 lignes entièrement différentes représentent déjà une distance de 5 000 — et dans ce cas l’outil le dit plutôt que d’afficher un alignement sûr de lui et faux : les deux textes sont alors présentés comme un bloc supprimé et un bloc ajouté. Autre point à connaître : ici, une « édition » est une insertion ou une suppression, jamais une substitution. Transformer « kitten » en « sitting » coûte donc 5 éditions selon cette mesure, contre 3 pour une distance de Levenshtein qui autoriserait aussi le remplacement lettre à lettre — de quoi surprendre si l’on s’attendait au second chiffre.

Cet outil compare du texte, pas des fichiers : ni PDF, ni Word, ni images, ni dossiers — on colle le contenu à comparer. Il montre les différences, il ne les fusionne pas : aucun bouton pour reporter une modification d’un côté vers l’autre. Ignorer la casse et Ignorer les espaces ne changent que ce qui compte comme différence, jamais le texte affiché, qui reste exactement celui que vous avez saisi. Et rien n’est envoyé ni conservé, ce qui compte plus ici que pour la moyenne des outils, parce que ce qu’on compare est souvent un contrat, un fichier de configuration avec des identifiants dedans, ou un texte pas encore publié — exactement le genre de contenu qu’on hésite à coller dans un comparateur qui l’expédierait vers un serveur.

Pourquoi c’est gratuit

FreeToGenerate.com ne fait tourner aucun serveur pour cet outil : le calcul du diff se fait entièrement dans votre navigateur, en JavaScript, avec l’algorithme de Myers décrit plus haut. Pas de compte à créer, pas de filigrane sur le résultat, pas de version payante qui débloquerait les textes longs ou le mode Caractères.

C’est aussi pour ça que rien n’est envoyé : la confidentialité n’est pas un argument marketing plaqué sur l’outil, c’est une conséquence directe de la façon dont il est construit. Fermez l’onglet, rouvrez la page : les deux zones sont vides, rien n’a été gardé nulle part.