Comparateur de gros fichiers

Comparez deux gros fichiers locaux ligne par ligne ou octet par octet, avec des options d’espaces, de fins de ligne et d’encodage, et un rapport téléchargeable.

Vos saisies et fichiers restent dans le navigateur

Fichiers

Fichier d’origine

N’importe quel fichier local. Il reste sur cet appareil.

Fichier modifié

N’importe quel fichier local. Il reste sur cet appareil.

Les deux fichiers sont lus dans un Web Worker par blocs de 1 MiB. Chaque ligne n’est conservée que sous forme de hash, et le texte affiché est relu depuis les fichiers. Rien n’est envoyé ni enregistré.

Différences

Choisissez un fichier d’origine et un fichier modifié pour voir les lignes ou plages d’octets modifiées.

Sur cette page

Le comparateur de gros fichiers compare deux fichiers locaux trop volumineux pour une zone de texte : journaux de plusieurs gigaoctets, exports CSV, dumps SQL ou builds. Les fichiers texte sont comparés ligne par ligne, les binaires octet par octet, et le résultat est un tableau virtualisé des modifications accompagné d’un rapport téléchargeable.

Fonctionnalité détaillée

Les deux fichiers sont lus par blocs de 1 MiB dans un Web Worker. Au lieu de conserver le texte, chaque ligne devient un hash de 64 bits : un fichier coûte donc environ 8 octets par ligne. Les options d’espaces et de fins de ligne sont appliquées pendant le hachage : comparer à l’identique, ignorer les espaces en fin de ligne, ignorer les changements de quantité d’espaces ou les ignorer tous ; CRLF et LF peuvent compter comme la même fin de ligne. UTF-8 et UTF-16 sont hachés en caractères Unicode, si bien qu’un même texte enregistré dans les deux encodages concorde. Les encodages hérités comme Windows-1251 ou Shift_JIS sont comparés par leurs octets.

L’appariement des lignes saute d’abord le début et la fin communs, s’ancre ensuite sur les lignes qui apparaissent exactement une fois dans les deux fichiers (patience diff) et aligne les écarts avec l’algorithme de Myers. Un écart trop long à traiter est affiché comme un seul bloc de remplacement, et la page le signale. Seules les lignes visibles sont relues depuis les fichiers : faire défiler des millions de lignes modifiées reste léger.

Le mode binaire compare les octets par blocs et liste chaque plage différente avec son décalage, sa longueur et les 16 premiers octets de chaque côté ; une différence de taille devient la dernière plage. Le rapport texte est un unified diff (.diff) ; le rapport binaire est un CSV. Les deux sont écrits en flux dans le fichier choisi.

Exemples pratiques

Deux fichiers journaux : un journal de 2 millions de lignes comparé à une copie où 40 lignes sont passées du niveau INFO à WARN affiche 40 lignes supprimées et 40 ajoutées dans des blocs séparés, chacun avec trois lignes de contexte.

Copies Windows et Unix : un fichier CRLF comparé à sa copie LF ne montre aucune différence tant que l’option de fins de ligne est activée ; désactivez-la et chaque ligne diffère.

Indentation reformatée : choisissez Ignorer les changements de quantité, et les lignes qui ne diffèrent que par des espaces ou des tabulations entre les mots sont considérées comme égales.

Images de firmware : en mode binaire, deux builds qui diffèrent par une chaîne de version et une somme de contrôle affichent deux courtes plages avec les anciens et nouveaux octets en hex.

Comment utiliser cet outil

  1. Choisissez les fichiers

    Déposez ou choisissez le fichier d’origine et le fichier modifié. La comparaison démarre dès que les deux sont sélectionnés.

  2. Réglez les options

    Choisissez Détecter, Lignes de texte ou Octets binaires, l’encodage, la règle d’espaces et si les fins de ligne comptent. Cliquez sur Comparer pour relancer avec les nouvelles options.

  3. Lisez les modifications

    Le résumé compte les lignes supprimées et ajoutées ainsi que les blocs. Utilisez Modification précédente et Modification suivante pour passer d’un bloc à l’autre, et modifiez Lignes de contexte pour afficher plus ou moins de lignes inchangées autour.

  4. Téléchargez le rapport

    Téléchargez un unified diff pour du texte, ou un CSV des plages d’octets pour les fichiers binaires.

Conseils et bonnes pratiques

  • Détecter passe en binaire quand l’un des fichiers contient un octet NUL dans ses 8 premiers KiB, sauf s’il commence par un BOM UTF-16.
  • Les lignes sont comparées par hash. Deux lignes différentes ayant le même hash de 64 bits sont extrêmement improbables, et le tableau affiche toujours le vrai texte.
  • Les blocs de texte déplacés apparaissent comme une suppression et un ajout, comme avec diff -u.
  • Annuler arrête aussitôt le worker ; les fichiers restent sélectionnés.
  • Pour un coup d’œil rapide sur deux courts extraits, le Comparateur de Texte surligne les mots modifiés à l’intérieur des lignes.

Aidez-nous à choisir la suite

Que devrions-nous améliorer ensuite ?

Choisissez une suggestion. Ce sont des idées, pas des fonctionnalités promises.

Choisissez une option

Le vote envoie uniquement l’option choisie sous forme de compteur anonyme. Il ne contient aucune saisie, donnée de fichier, URL, cookie ou identifiant et n’est pas conservé dans ce navigateur. Recharger la page permet de voter à nouveau.