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é.
Choisissez un fichier d’origine et un fichier modifié pour voir les lignes ou plages d’octets modifiées.
Rapport
Jusqu’à 10 000 000 lignes par fichier. La mémoire est d’environ 8 octets par ligne, plus jusqu’à 9 pendant l’appariement. Les lignes sont appariées sur des hashs après application des règles d’espaces et de fins de ligne. Le tableau coupe une ligne à 2 000 caractères ; le rapport écrit des lignes entières jusqu’à 16 MiB. Le mode binaire conserve 100 000 plages.
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
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.
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.
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.
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.