Toolivaro

Comparador de diferencias de texto gratis

Compara dos bloques de texto línea por línea con resaltado de líneas añadidas, eliminadas y sin cambios, además de estadísticas de cambios, todo local.

El comparador de diferencias de texto compara dos bloques de texto línea por línea y muestra exactamente qué ha cambiado: las líneas eliminadas del original, las añadidas en la nueva versión y el contexto sin cambios entre ellas, con un resumen de los recuentos de añadidas, eliminadas e iguales y la proporción de líneas modificadas. La comparación usa el clásico algoritmo de la subsecuencia común más larga —el mismo enfoque que usa GNU diff en su salida por defecto—, así que el resultado es determinista y explicable: la herramienta muestra el método, no una caja negra. Una opción de ignorar espacios en blanco trata como iguales las líneas que solo difieren en espacios iniciales o finales, útil al comparar código o configuración reformateada. Las entradas tienen un tope con aviso de truncado explícito para que la pestaña siga respondiendo incluso con pegados enormes. Todo se ejecuta localmente: los dos textos —archivos de configuración, CSS, salida generada, borradores— nunca salen de tu dispositivo, no se registran ni se almacenan. Usa esta herramienta para revisar un cambio de configuración antes de desplegar, para detectar qué ha alterado un formateador de código o para comparar la salida generada con una línea base confirmada.

Se procesa localmente en tu navegador

Cómo 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.

¿Cómo se calcula el resultado?

Un cambio de una línea en una configuración

Comparar un archivo de configuración antes y después de cambiar el timeout de reintentos: el diff muestra una línea eliminada (timeout = 30), una añadida (timeout = 60) y las líneas circundantes sin cambios: 2 de 8 líneas modificadas, una proporción de cambios del 25 %.

Entrada y resultado del ejemplo
Entrada Valor
original host = api.example.com timeout = 30 retries = 3
updated host = api.example.com timeout = 60 retries = 3
Resultado 1 añadida · 1 eliminada · 1 sin cambios · 25 % de cambios

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.

Entrada y resultado del ejemplo
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.

Entrada y resultado del ejemplo
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

¿Cuál es la fórmula y sus supuestos?

Método de comparación

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

Términos de la fórmula
Símbolo Significado
left texto original, dividido en líneas
right texto nuevo, dividido en líneas
LCS la secuencia más larga de líneas presentes en ambas entradas en orden

Las líneas que no están en el LCS se notifican como eliminadas (de la izquierda) o añadidas (de la derecha); el propio LCS es el contexto sin cambios.

¿Cuáles son los errores más comunes?

  • Esperar granularidad a nivel de palabra de un diff por líneas: aquí las líneas son atómicas.
  • Comparar textos con finales de línea distintos (CRLF vs LF): se normalizan primero, lo que puede ocultar o revelar cambios según la fuente.
  • Olvidar la opción de ignorar espacios en blanco cuando el reformateo ha cambiado la sangría en todas partes.
  • Subir texto propietario o personal a un servicio de diff en línea: esta herramienta es totalmente local.

¿Cuáles son los supuestos y las limitaciones?

  • La comparación es por líneas, no por palabras ni semántica.
  • Las entradas tienen un tope (con aviso explícito) para mantener la página receptiva.
  • La herramienta informa de diferencias textuales: no puede juzgar qué versión es la correcta.

¿De dónde salen los números?

Última revisión 12 de agosto de 2026 · Versión 1.1.0 · Toolivaro no garantiza el contenido externo.

Preguntas frecuentes

¿Es el mismo algoritmo que git diff?

Conceptualmente sí: el diff por defecto de git también alinea los archivos en torno a una subsecuencia común más larga, con refinamientos (como el algoritmo de Myers) por velocidad. Para texto típico, el resultado tiene la misma forma de líneas añadidas, eliminadas y sin cambios; esta herramienta documenta su método abiertamente y limita las entradas para mantener la capacidad de respuesta.

¿Por qué el diff a veces muestra más cambios de los que esperaba?

La comparación por líneas trata las líneas completas como atómicas. Si una línea cambió en medio, esa línea es una eliminación más una adición, no una edición a nivel de palabra. El código reformateado (nuevos saltos de línea, reindentado) puede producir diffs grandes aunque el significado no cambie.

¿La herramienta maneja archivos muy grandes?

Sí, con un tope documentado: las entradas que superan el límite de líneas se truncan con un aviso explícito en lugar de congelar la pestaña. Para archivos de decenas de miles de líneas, una herramienta de diff específica es la mejor opción.

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 herramientas de texto y JSON para desarrolladores

¿Encontraste un error o tienes una corrección? Repórtalo: revisamos cada corrección.

¿Te ha sido útil?

Revisado por el equipo editorial de Toolivaro según nuestra metodología Metodología · Política editorial