Toolivaro

Verificador de diferenças entre textos grátis

Compare dois blocos de texto linha por linha, com destaque para linhas adicionadas, removidas e inalteradas, além de estatísticas de mudanças — tudo local.

O verificador de diferenças entre textos compara dois blocos de texto linha por linha e mostra exatamente o que mudou: linhas removidas do original, linhas adicionadas na nova versão e o contexto inalterado entre elas, com um resumo em tempo real das contagens de adicionadas, removidas e inalteradas, além da proporção de linhas alteradas. A comparação usa o clássico algoritmo da subsequência comum mais longa — a mesma abordagem que o GNU diff usa em sua saída padrão —, então o resultado é determinístico e explicável: a ferramenta mostra o método, não uma caixa-preta. Uma opção de ignorar espaços em branco trata linhas que diferem apenas em espaços no início ou no fim como iguais, útil ao comparar código ou configuração reformatados. As entradas têm um limite explícito, com aviso de truncamento, para a aba continuar responsiva mesmo em colagens enormes. Tudo roda localmente: os dois textos — arquivos de configuração, CSS, saídas geradas, rascunhos — nunca saem do seu dispositivo, nunca são registrados e nunca são armazenados. Use esta ferramenta para revisar uma mudança de configuração antes de implantar, identificar o que um formatador de código alterou ou comparar uma saída gerada com uma versão de referência.

Processado localmente no seu navegador

Como usar esta calculadora

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.

Como o resultado é calculado?

Uma mudança de uma linha na configuração

Comparando um arquivo de configuração antes e depois de uma mudança no timeout de tentativas: o diff mostra uma linha removida (timeout = 30), uma linha adicionada (timeout = 60) e as linhas ao redor inalteradas — 2 alteradas de 8 linhas, uma proporção de mudança de 25%.

Exemplo de entrada e saída
Entrada Valor
original host = api.example.com timeout = 30 retries = 3
updated host = api.example.com timeout = 60 retries = 3
Resultado 1 adicionada · 1 removida · 1 inalterada · 25% alteradas

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.

Exemplo de entrada e saída
Entrada Valor
original body { color: red; font-size: 14px; }
updated body { color: red; font-size: 15px; }
Resultado 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.

Exemplo de entrada e saída
Entrada Valor
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; }
Resultado 1 added · 2 removed · 4 unchanged · 43% changed

Qual é a fórmula e suas premissas?

Método de diff

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

Termos da fórmula
Símbolo Significado
left texto original, dividido em linhas
right texto novo, dividido em linhas
LCS a maior sequência de linhas presente nos dois textos, na ordem

Linhas fora da LCS são reportadas como removidas (do texto original) ou adicionadas (do texto novo); a própria LCS é o contexto inalterado.

Quais são os erros mais comuns?

  • Esperar granularidade no nível de palavras de um diff por linhas — aqui, linhas são atômicas.
  • Comparar textos com finais de linha diferentes (CRLF vs LF) — eles são normalizados primeiro, o que pode mascarar ou revelar mudanças dependendo da origem.
  • Esquecer a opção de ignorar espaços em branco quando a reformatação mudou a indentação em todo lugar.
  • Enviar texto proprietário ou pessoal para um serviço de diff online — esta ferramenta é totalmente local.

Quais são as premissas e limitações?

  • A comparação é por linhas, não por palavras nem semântica.
  • As entradas têm limite (com aviso explícito) para manter a página responsiva.
  • A ferramenta informa diferenças textuais — ela não avalia qual versão está correta.

De onde vêm os números?

Última revisão 12 de agosto de 2026 · Versão 1.1.0 · Toolivaro não garante conteúdo externo.

Perguntas frequentes

É o mesmo algoritmo do git diff?

Conceitualmente, sim — o diff padrão do git também alinha os arquivos em torno de uma subsequência comum mais longa, com refinamentos (como o algoritmo de Myers) para velocidade. Para texto típico, o resultado tem o mesmo formato de linhas adicionadas, removidas e inalteradas; esta ferramenta documenta seu método abertamente e limita as entradas para manter a responsividade.

Por que o diff às vezes mostra mais mudanças do que eu esperava?

A comparação por linhas trata linhas inteiras como atômicas. Se uma linha mudou no meio, essa linha é uma remoção mais uma adição — não uma edição no nível de palavras. Código reformatado (novas quebras de linha, reindentação) pode, portanto, produzir diffs grandes mesmo quando o significado não mudou.

A ferramenta lida com arquivos muito grandes?

Sim, com um limite documentado: entradas acima do limite de linhas são truncadas com um aviso explícito, em vez de travar a aba. Para arquivos com dezenas de milhares de linhas, uma ferramenta de diff dedicada é a melhor escolha.

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.

Parte de Kit de ferramentas de texto e JSON para desenvolvedores

Encontrou um erro ou tem uma correção? Informe — revisamos toda correção.

Foi útil?

Revisado pela equipe editorial da Toolivaro conforme nossa metodologia Metodologia · Política editorial