Saltar al contenido

Comparador de texto

Compara dos textos línea por línea. Las líneas añadidas se resaltan en verde y las eliminadas en rojo. Útil para archivos de configuración, registros y código.

100% Gratis Sin registro Solo navegador 5 idiomas Modo oscuro
Si algo no funciona o se muestra mal, escríbenos vía Formulario de contacto.

📖 Dónde se suele tropezar

Compara dos textos y resalta las diferencias por línea y por palabra. Todo se ejecuta en el navegador y nada de lo que pegas se transmite. Ten presente que que no se vea diferencia no significa que sean idénticos: dos textos que parecen iguales pueden diferir en finales de línea o en caracteres invisibles y, al revés, un diff lleno de cambios puede representar una sola edición real.

Caso Qué ocurre Qué hacer
Todas las líneas aparecen como cambiadas Casi seguro difieren los finales de línea. Windows escribe CRLF; macOS y Linux, LF, y ninguno se ve. Volver a guardar el mismo contenido en otra máquina basta para marcar todas las líneas como cambiadas. Cuando un diff de Git se dispara de golpe, esto es lo primero que hay que mirar. Normaliza ambos lados a LF con el conversor de finales de línea antes de comparar. Como arreglo permanente, pon * text=auto eol=lf en un .gitattributes en la raíz. El ajuste de recortar espacios finales al guardar produce el mismo tipo de diff, así que acordarlo en el equipo ahorra problemas.
Parecen idénticos pero no coinciden Hay un carácter invisible de por medio. Los sospechosos habituales son el espacio de ancho cero (U+200B), el espacio duro (U+00A0), el espacio ideográfico (U+3000) o un BOM (U+FEFF). Llegan al copiar de una página web, un PDF o Word, y se dibujan como un espacio normal o como nada. Mezclar alfanuméricos de ancho completo y medio da el mismo síntoma. Cambia a la vista por palabras y el punto conflictivo se ilumina solo. Si sabes de dónde vino, unifica alfanuméricos y espacios con la conversión de ancho medio y completo, y si sospechas de un BOM comprueba la codificación con el diagnóstico de mojibake. Cuando el origen es una página web, pasarlo antes por un editor de texto plano es la forma más rápida de evitar todo el problema.
Un reformateo vuelve ilegible el diff Reindentar, reordenar claves o pasar un formateador no cambia nada semánticamente pero reescribe todas las líneas. Revisar así entierra el cambio real en ruido e invita al descuido. Con JSON o YAML, basta con reordenar las claves para aniquilar un diff por líneas. Separa el reformateo y el cambio real en commits distintos. Poder decir este commit es sólo formato es todo el beneficio. Si sólo quieres comparar datos estructurados, usa el diff de JSON en vez de uno por líneas: informa de altas, bajas y valores cambiados sin importar el orden de las claves. También puedes normalizar ambos lados con el formateador JSON antes de comparar.

Un diff te enseña en qué difieren las cadenas, no cómo cambió el significado. Un commit que renombra una variable en todas partes pinta el archivo entero de rojo y verde sin alterar el comportamiento. A la inversa, cambiar un solo carácter de < a <= puede alterar el comportamiento de todo un sistema. No hay correlación entre el tamaño del diff y el del riesgo; el único patrón fiable es que los diffs grandes se leen en diagonal.

📖 Cómo usar

  1. 1
    Pega texto en ambos lados
    Pega la versión antigua a la izquierda y la nueva a la derecha.
  2. 2
    Revisa la diferencia
    Líneas añadidas en verde, eliminadas en rojo.
  3. 3
    Copia como unified diff
    Usa Copiar para exportar como unified diff.

❓ Preguntas frecuentes

¿Hay diff a nivel palabra?
Solo nivel de línea por ahora.
¿Puedo ignorar espacios?
Activa "Ignorar espacios".
¿Se envían los datos?
No. Todo en el navegador.
¿Diff estructurado?
Ordena las claves JSON primero.
🐛 ¿Encontró un problema con esta herramienta?

Gratis, sin registro. Incluso solo los pasos para reproducir ayudan. Los informes van directamente al operador y se usan para corregir.

* Se envía automáticamente la info del navegador (UA / pantalla / idioma / URL) para reproducir