Aller au contenu principal

Diff de texte — outil gratuit

Comparez deux blocs de texte et voyez exactement ce qui a changé. Diff ligne par ligne avec les lignes ajoutées, supprimées et inchangées.

Fonctionne hors ligne une fois chargé
Contexte:
+3 ajouté−2 supprimé2 inchangé
Diff
+The quick brown fox leaps over the lazy dog.
−The quick brown fox jumps over the lazy dog.
Pack my box with five dozen liquor jugs.
+How amazingly quick daft zebras jump!
−How vexingly quick daft zebras jump!
The five boxing wizards jump quickly.
+Now is the time for all good men.

Utilisations courantes

  • Comparer les extraits de codeIdentifiez exactement ce qui a changé entre deux versions d'un extrait de code, d'une configuration ou d'un script.
  • Comparer les brouillons de documentsTrouvez tous les changements entre deux brouillons d'un document, d'un contrat ou d'un article — ligne par ligne.
  • Comparer les données et les fichiers CSVRepérez les différences entre deux versions de données exportées, de CSV, de journaux ou de configuration.
  • Comparer les versions de traductionVoyez ce qui a changé entre deux versions d'un document traduit, d'un fichier de sous-titres ou d'une chaîne de localisation.
  • Suivre les modifications dans les révisions de contenuComparez les versions originales et modifiées d'un article, d'un article de blog ou d'une copie marketing pour vérifier ce qui a changé.

Comment ça marche

Text Diff utilise un algorithme de plus longue sous-séquence commune (LCS) écrit à la main implémenté directement dans cet outil — aucune bibliothèque de diff externe. Tout s'exécute dans le navigateur ; votre texte n'est jamais envoyé à un serveur.

  1. 1
    Le texte est découpé en lignes
    Le contenu de chaque zone de texte est découpé sur les caractères de saut de ligne en un tableau de lignes. Une normalisation optionnelle (mise en minuscules, réduction des espaces) est appliquée à une copie de ces tableaux avant comparaison, tandis que les originaux sont conservés pour l'affichage.
  2. 2
    La table LCS est calculée dans un Uint32Array
    Une table de programmation dynamique ascendante est construite dans un Uint32Array typé — O(m×n) en temps et en mémoire. Pour les saisies dont le nombre de cellules combiné dépasserait 4 millions (environ 16 Mo), l'algorithme revient automatiquement à un diff par blocs plus grossier afin que la page reste réactive.
  3. 3
    Surlignages au niveau du mot sur les lignes modifiées
    Quand une ligne supprimée est immédiatement suivie d'une ligne insérée, une seconde passe LCS s'exécute sur les mots tokenisés de cette paire (découpés sur les espaces). Cela produit des segments surlignés en ligne montrant exactement quels mots ont changé dans la ligne, pas seulement quelles lignes ont changé.
  4. 4
    Vue diff unifiée avec réduction du contexte
    La liste des opérations est rendue comme un diff unifié avec des préfixes +/− et une coloration. Les lignes inchangées en dehors de la fenêtre de contexte configurable (par défaut : 3 lignes) sont réduites derrière des points de suspension. Le résultat complet peut être copié dans le presse-papiers ou téléchargé en fichier .txt en texte brut.

Outils associés

Questions fréquemment posées