Diff de texto

Compara versiones con resaltado simple por línea.

A

{{ line.text }}

B

{{ line.text }}

Descripción

`diff` es una de las utilidades Unix más antiguas y esenciales — fue creada en 1974 por Doug McIlroy en los Bell Labs, el mismo laboratorio que dio origen a Unix, al lenguaje C y a AWK. La idea parecía simple: dados dos archivos de texto, mostrar exactamente qué cambió entre ellos. Por debajo, el algoritmo usa LCS (Longest Common Subsequence) para encontrar las líneas comunes y deducir qué se añadió, eliminó o modificó. Ese algoritmo tiene complejidad O(n*m) en el peor caso y fue objeto de refinamientos como el algoritmo de Myers (1986), que es el que usa Git hasta hoy.

`diff` se convirtió en sinónimo de control de versiones. Cuando ejecutas `git diff`, `git log -p` o revisas un pull request en GitHub, lo que ves es esencialmente el formato de salida del `diff` clásico — líneas eliminadas en rojo con `-`, líneas añadidas en verde con `+`, y contexto circundante para facilitar la localización de los cambios. El código que Git usa para calcular diffs de texto es fundamentalmente el mismo algoritmo de 1974, con optimizaciones. Herramientas como `vimdiff`, `meld` y `Beyond Compare`, y las vistas de PR en GitHub y GitLab existen porque comparar texto entre versiones es una necesidad central en el desarrollo de software moderno.

`diff` también es enormemente útil fuera del código. Comparar dos archivos de configuración (`.env.example` vs `.env.local`), verificar si la respuesta JSON de una API cambió entre despliegues, comprobar que una migración SQL es igual a lo aprobado en revisión, comparar dos versiones de un contrato o documento legal — todos estos son casos de uso reales de diff en el trabajo diario de un equipo de ingeniería. Las herramientas de pruebas de regresión visual como Percy y Chromatic hacen esencialmente un diff de imágenes entre versiones. El principio es el mismo: identificar qué cambió.

Esta herramienta realiza una comparación línea por línea entre dos textos que pegas en los paneles izquierdo y derecho, resaltando visualmente las diferencias. No es un diff binario ni una fusión de tres vías como el que usa Git en conflictos de merge. Para comparaciones de archivos más grandes con contexto completo y navegación por hunks, usa herramientas dedicadas como `diff` en la terminal, `git diff` o aplicaciones como `meld`. Para comprobaciones rápidas — verificar si dos JSONs tienen la misma estructura, comparar salidas de dos llamadas a API, revisar cambios entre borradores de texto — esta herramienta funciona sin instalar nada.

Detalle técnico

Ideas claras antes de usar la herramienta

  • ¿Para qué sirve esta herramienta?: Funciona por completo en tu navegador: sirve para validar, formatear o convertir datos en el día a día.
  • ¿Se envían mis datos a algún servidor?: El procesamiento es local con JavaScript. No almacenamos lo que pegas en los campos de texto.
  • ¿Puedo usarlo con datos reales en producción?: Úsalo bajo tu responsabilidad. Para secretos (contraseñas, tokens), prefiere entornos controlados y políticas internas. Recuerda de revisar los contenidos generados. Nunca confies ciegamente en cosas que ves en internet.

Fragmento corto para probar

  • Debajo aparece también el ejemplo largo en "Fragmentos de Código"; pega esta versión corta: Escenario — Compare .env.example vs .env local (sem subir segredos).

Guía de la herramienta

  • Con qué trabajas Dos versiones de texto (archivos, configs, fragmentos de log).

  • Qué hace la herramienta Compara línea a línea con resaltado simple.

  • Por qué usarla Revisar .env, mensajes de error, parches pequeños antes del commit. No es diff binario ni motor de merge.

Fragmentos de Código

Ejemplo de código
Compare .env.example vs .env local (sem subir segredos).

Escenario

Compare .env.example vs .env local (sem subir segredos).

Preguntas frecuentes

¿Para qué sirve esta herramienta?

Funciona por completo en tu navegador: sirve para validar, formatear o convertir datos en el día a día.

¿Se envían mis datos a algún servidor?

El procesamiento es local con JavaScript. No almacenamos lo que pegas en los campos de texto.

¿Puedo usarlo con datos reales en producción?

Úsalo bajo tu responsabilidad. Para secretos (contraseñas, tokens), prefiere entornos controlados y políticas internas. Recuerda de revisar los contenidos generados. Nunca confies ciegamente en cosas que ves en internet.