Toolivaro

Comparateur de différences de texte gratuit

Comparez deux blocs de texte ligne par ligne, avec surlignage des lignes ajoutées, supprimées et inchangées, plus des statistiques de changement — entièrement local.

Le comparateur de différences de texte compare deux blocs de texte ligne par ligne et montre exactement ce qui a changé : les lignes supprimées de l'original, les lignes ajoutées dans la nouvelle version et le contexte inchangé entre elles, avec un récapitulatif des lignes ajoutées, supprimées et inchangées ainsi que la proportion de lignes modifiées. La comparaison utilise l'algorithme classique de la plus longue sous-séquence commune — la même approche que GNU diff pour sa sortie par défaut —, le résultat est donc déterministe et explicable : l'outil montre la méthode, pas une boîte noire. Une option d'ignorance des espaces traite comme égales les lignes qui ne diffèrent que par des espaces de tête ou de fin, ce qui est utile pour comparer du code ou de la configuration reformatés. Les entrées sont plafonnées avec un avertissement de troncature explicite pour que l'onglet reste réactif même sur de très gros collages. Tout s'exécute localement : les deux textes — fichiers de configuration, CSS, sorties générées, brouillons — ne quittent jamais votre appareil, ne sont jamais journalisés et ne sont jamais stockés. Utilisez cet outil pour relire un changement de configuration avant de le déployer, repérer ce qu'un formateur de code a modifié, ou différencier une sortie générée d'une base de référence du dépôt.

Traité localement dans votre navigateur

Comment utiliser cette calculatrice

When a text diff is the right tool

Some of the most expensive mistakes in software are the ones that look right: a config file that differs from the working version by a single character, a chunk of CSS that a formatter quietly rewrote, generated output that stopped matching its committed baseline. The diff checker is built for exactly these moments. Paste the original and the new version, and the tool highlights every line that was removed and every line that was added, with the unchanged lines between them for context — the same shape of output you get from diff-based review tools, minus the terminal. It is equally useful for documents that never touch a repository: comparing a contract draft to the version you signed, a copied email against the original, a report generated twice. Because everything runs locally, proprietary or personal text never leaves your device, which makes the tool the right choice when the content itself is sensitive.

Reach for this tool whenever “what changed?” is the question and you have both versions in front of you. Typical uses: reviewing a config change before you deploy it, checking what a code formatter did to a file you did not touch, diffing generated output against a baseline to confirm nothing regressed, or proving that two copies of a document are identical. It is also a fast sanity check for copy-paste work — paste the file you think you copied next to the source, and the diff tells you instantly whether you got it right. The tool is deliberately simple: two boxes, one button, one optional checkbox. If your question is about meaning rather than text — which version is correct, whether two JSON documents are semantically equal — this tool answers only the textual part, and judgment is yours for the rest.

One more scenario deserves its own mention: proving that two copies are identical. When a client sends back a “final” version of a contract or a teammate restores a config from a backup, a diff that comes back with every line unchanged is the cheapest proof there is — stronger than a glance, simpler than a checksum, and it leaves the evidence on screen. It also catches the silent regressions nobody files a ticket for: generated output that no longer matches its committed baseline, a minified bundle that changed after a dependency bump, a translated string that quietly reverted to the original language. Run the comparison once, watch the list come back green, and the “is anything different?” question is settled without reading either file end to end. The tool cannot tell you why a difference matters — that is judgment — but it can tell you, to the line, that a difference exists, and that certainty is most of what reviewing a change is about.

Comparing two texts, step by step

Paste the original version into the Original box and the new version into the Updated box — the only two required fields — then click Compare. The result panel opens with a stat grid: added lines, removed lines, and the percentage of lines that changed, plus the full line-by-line list underneath. The Ignore whitespace checkbox sits next to the Compare button; tick it when lines that differ only in leading or trailing spaces should count as equal. That option is the difference between a noisy diff and a useful one when a formatter reindented a file or a paste added stray spaces. Line endings are handled for you: Windows CRLF breaks are normalized to LF before comparison, so a file saved on Windows compares cleanly against one saved on macOS or Linux.

Three pitfalls cover most confusion. First, the comparison is line-based: a single word changed inside a long line shows up as that whole line removed plus a whole line added, never as a word-level edit — so a small change can look like two big ones. Second, reindentation counts as a change unless you tick Ignore whitespace, and even then only leading and trailing spaces are ignored, not spaces inside the line. Third, inputs are capped at 4,000 lines; beyond that the tool trims the input and shows an explicit truncation notice instead of freezing the tab, so watch for the notice when the numbers look small for a very large file. And remember the tool compares text, not meaning — identical text can still be wrong content, and different text can be right.

Reading the diff results

The results panel has two parts. The stat grid shows added and removed line counts plus the percentage of changed lines — that figure is added plus removed divided by the total number of lines shown in the diff, rounded to a whole percentage. Below it, the list renders every line of both versions in order: added lines in green with a plus marker, removed lines in red with a minus marker, and unchanged context lines with a blank marker. Reading the list top to bottom tells the story of the change the same way a code review does: this line left, that line arrived, everything else stayed. After each comparison a summary restates the counts in plain words — “1 added, 1 removed, 3 unchanged” — so you never have to do the arithmetic yourself.

There is little that can go wrong, and the tool surfaces what there is. Comparing two empty boxes yields no added or removed lines and a 0% change figure, and the same is true of two identical files — every line comes back as unchanged context, which is the tool’s most useful answer when you feared a silent difference. Over the 4,000-line cap, a truncation notice appears above the list so you know the numbers cover only the first part of the document — treat those results as partial. The one thing the output never tells you is which version is correct: the diff marks a deleted line and its replacement with equal confidence, so verify intent against the data before you act on the result. That judgment is the part no diff tool can do for you.

Comment le résultat est-il calculé ?

Un changement d'une ligne dans une configuration

En comparant un fichier de configuration avant et après un changement de délai de nouvelle tentative : le diff montre une ligne supprimée (timeout = 30), une ligne ajoutée (timeout = 60) et les lignes environnantes inchangées — 2 lignes modifiées sur 8, soit un taux de changement de 25 %.

Exemple d'entrée et de sortie
Entrée Valeur
original host = api.example.com timeout = 30 retries = 3
updated host = api.example.com timeout = 60 retries = 3
Résultat 1 ajoutée · 1 supprimée · 1 inchangée · 25 % modifiées

Finding the real change after a formatter reindented your CSS

Your CSS linter was configured to switch indentation from two spaces to four, and it reformatted a whole stylesheet. The file differs everywhere, but what you need to know is whether anything actually changed. Paste the pre-format and post-format versions, tick Ignore whitespace, click Compare, and the noise disappears: lines that differ only in indentation are treated as equal, so the diff shows the stylesheet’s structure as unchanged context and highlights just the genuine edit — font-size moving from 14px to 15px. The stats confirm the story: 1 added, 1 removed, 3 unchanged, 40% changed. Reading this diff is like scanning a photograph for one changed pixel: the eye needs the surrounding image to know where to look, and the unchanged context lines are that frame. Without the option, the same inputs produce 2 added and 2 removed lines — the two indented lines count as fully rewritten — which is accurate but unhelpful when all you want to know is whether the formatter altered anything besides indentation. The checkbox compares each pair of lines after trimming leading and trailing spaces, so “ color: red;” and “ color: red;” count as the same line. It is the whole point of the option: separate whitespace churn from the real delta, and the result reads like a one-line changelog instead of a rewrite. Keep it in mind any time a formatting tool touched a file you did not intend to change — it turns a diff that looks like a rewrite into one you can read in ten seconds.

Exemple d'entrée et de sortie
Entrée Valeur
original body { color: red; font-size: 14px; }
updated body { color: red; font-size: 15px; }
Résultat 1 added · 1 removed · 3 unchanged · 40% changed

Reviewing a server config edit before deploy

An nginx-style server block changes before a deploy: the listen port moves from 80 to 443, and the root directive disappears because the site is now served from static files. Diffing the old and new blocks shows the exact shape of the edit — listen 80 removed, listen 443 added, server_name, index, and both brace lines unchanged, and the root line removed — for a result of 2 removed, 1 added, 4 unchanged, 43% changed. Reading the result is like checking a passenger manifest against yesterday’s list: each line either stayed, was replaced, or left the flight, and the unchanged names give you the context to spot the two that matter. The order in the list matters too: the removed listen 80 line sits directly above the added listen 443 line, so the eye sees a swap rather than an unrelated pair of events, while the deleted root line stands alone further down — a removal with no replacement, exactly the kind of change that deserves a second look before it ships. The brace lines and the server_name line anchor the block; without that context the removed and added lines would float in a list and the story of the change would be much harder to read. A diff this small is the easy case; the same habit pays off on hundred-line files where the one real change hides among reformatting. Run the comparison, read the removed lines first, and confirm each one was intentional before you deploy — a minute of checking beats discovering the edit after the deploy.

Exemple d'entrée et de sortie
Entrée Valeur
original server { listen 80; server_name example.com; root /var/www/html; index index.html; }
updated server { listen 443; server_name example.com; index index.html; }
Résultat 1 added · 2 removed · 4 unchanged · 43% changed

Quelle est la formule et ses hypothèses ?

Méthode de comparaison

diff = longest-common-subsequence(left, right) over lines

Termes de la formule
Symbole Signification
left texte original, découpé en lignes
right nouveau texte, découpé en lignes
LCS la plus longue séquence de lignes présentes dans les deux entrées, dans l'ordre

Les lignes hors de la LCS sont signalées comme supprimées (côté gauche) ou ajoutées (côté droit) ; la LCS elle-même est le contexte inchangé.

Quelles sont les erreurs les plus courantes ?

  • Attendre une granularité au niveau du mot d'un diff ligne par ligne — ici, les lignes sont atomiques.
  • Comparer des textes avec des fins de ligne différentes (CRLF contre LF) — elles sont normalisées d'abord, ce qui peut masquer ou révéler des changements selon la source.
  • Oublier l'option d'ignorance des espaces quand le reformatage a changé l'indentation partout.
  • Téléverser du texte propriétaire ou personnel dans un service de diff en ligne — cet outil est entièrement local.

Quelles sont les hypothèses et les limites ?

  • La comparaison est ligne par ligne, pas au niveau du mot ni sémantique.
  • Les entrées sont plafonnées (avec un avertissement explicite) pour garder la page réactive.
  • L'outil signale les différences textuelles — il ne peut pas juger quelle version est correcte.

D'où viennent les chiffres ?

Dernière révision 12 août 2026 · Version 1.1.0 · Toolivaro ne garantit pas les contenus externes.

Questions fréquentes

Est-ce le même algorithme que git diff ?

Conceptuellement oui — le diff par défaut de git aligne aussi les fichiers autour d'une plus longue sous-séquence commune, avec des raffinements (comme l'algorithme de Myers) pour la vitesse. Le résultat a la même forme de lignes ajoutées, supprimées et inchangées pour un texte classique ; cet outil documente ouvertement sa méthode et plafonne les entrées pour rester réactif.

Pourquoi le diff montre-t-il parfois plus de changements que prévu ?

La comparaison ligne par ligne traite chaque ligne comme une unité atomique. Si une ligne a changé au milieu, c'est une suppression plus une ajout — pas une modification au niveau du mot. Du code reformaté (nouveaux retours à la ligne, réindentation) peut donc produire de gros diffs même si le sens est inchangé.

L'outil gère-t-il les très gros fichiers ?

Oui, avec un plafond documenté : les entrées au-delà de la limite de lignes sont tronquées avec un avertissement explicite plutôt que de figer l'onglet. Pour des fichiers de plusieurs dizaines de milliers de lignes, un outil de diff spécialisé est le meilleur choix.

What happens if my texts have Windows line endings?

Line endings are normalized before comparison: CRLF (\r\n) is converted to LF (\n) on both sides. A file saved on Windows compares cleanly against one saved on macOS or Linux, and a change in line-ending style alone produces no added or removed lines. If you have ever seen a whole-file diff in git for a one-line edit, that is usually the same problem — this tool handles it for you.

How is the changed percentage calculated?

The change ratio is added plus removed lines divided by the total number of lines shown in the diff, rounded to a whole percentage. The total includes unchanged context lines, so the figure depends on how much context surrounds the changes. Treat it as a rough measure of how much text moved — not as a measure of how significant the change is.

Can I drag and drop files to compare?

No — this tool accepts pasted text only. Open each file in your editor, select all, copy, and paste into the Original and Updated boxes, then click Compare. That keeps the tool dependency-free and everything local, and for typical files the whole flow takes a few seconds. For very large files, remember the 4,000-line cap applies to whatever you paste.

Fait partie de Boîte à outils texte et JSON pour développeurs

Vous avez repéré une erreur ou souhaitez une correction ? Signalez-la — chaque correction est examinée.

Ce calculateur vous a été utile ?

Relu par l'équipe éditoriale de Toolivaro selon notre méthodologie Méthodologie · Politique éditoriale