Saltar al contenido principal

Herramientas de texto

Estas herramientas de texto comparan y transforman texto plano en tu navegador. Pega dos versiones de un archivo, un fragmento de registro o un bloque de configuración y verás exactamente qué cambió, a nivel de línea, de palabra o de carácter, con un parche unificado que puedes copiar en un correo o en un ticket.

18 herramientasSolo local

Comparar

Formatear

Validar

Convertir

Editar

Referencia

Inspeccionar

¿Cuándo deberías usar una herramienta texto en el navegador?

Comparar dos bloques de texto es algo que la gente hace constantemente y casi siempre en un mal momento: una configuración que funciona en un host y no en otro, un cuerpo de respuesta que cambió entre despliegues, una cláusula de contrato que alguien editó sin control de cambios, una línea de registro que es casi, pero no del todo, la de ayer.

La tentación es echarle un vistazo. Eso funciona con tres líneas y falla en silencio con treinta, porque la atención humana es buenísima viendo lo que espera ver. Un diff no es una comodidad en esa situación; es la diferencia entre encontrar el cambio y convencerte de que no lo hay.

Lo que hace buena una herramienta de diff es la granularidad. La comparación por líneas es el valor por defecto adecuado y lo que te muestra el control de versiones, pero es activamente engañosa con dos clases de entrada: los archivos minificados o de una sola línea, donde el documento entero es una línea y el diff degenera en «esta línea cambió»; y las líneas largas de prosa, donde una edición de una palabra pinta un párrafo entero como reescrito. Los modos de palabra y de carácter existen justo para esos casos, y poder alternar entre los tres sin volver a pegar es la mayor parte del valor.

La otra mitad es que la salida tiene que ser portátil. Un diff que solo puedes mirar vale menos que uno que puedes entregar a otra persona, así que la exportación de parche unificado produce un parche estándar con cabeceras de hunk correctas —el formato que patch(1) acepta y el que una herramienta de revisión de código renderiza bien cuando lo pegas en un comentario.

El texto suele ser lo más delicado de este sitio. Un payload JSON suele ser datos de máquina; un diff de texto es con frecuencia un borrador de contrato, una nota interna, una cronología de un incidente o un correo de un cliente. Esa es la razón de que la comparación ocurra en tu navegador y no en un servidor: no como una función destacada, sino porque subir ese material a un host desconocido para responder una pregunta que podrías responder localmente es un mal negocio a cualquier precio.

Si las dos cosas que estás comparando son JSON en lugar de prosa, usa mejor Comparar JSON. Compara la estructura analizada en lugar del texto, así que reformatear y reordenar claves —lo que un diff de texto reporta como cientos de cambios— se muestra correctamente como ningún cambio en absoluto.

Preguntas frecuentes

¿Cuál es la diferencia entre diff por líneas, por palabras y por caracteres?

El diff por líneas es el valor por defecto y coincide con lo que muestra git: una línea está presente, ausente o cambió. El diff por palabras subdivide cada línea cambiada para que veas que solo se movió un identificador, en lugar de que una línea entera de 200 caracteres se ilumine en rojo y verde. El diff por caracteres va más allá y es la elección correcta para una sola cadena larga —una URL, un hash, un blob en base64— donde la diferencia es un carácter en medio y necesitas encontrarlo.

¿Puedo pegar un archivo entero, o tiene que ser un fragmento?

Los archivos enteros van bien hasta el techo de 8 MB del hilo principal. La comparación es un diff de Myers, el mismo algoritmo que usa git, así que su coste crece con el número de diferencias y no con el tamaño de la entrada —dos archivos grandes casi idénticos se comparan casi al instante, mientras que dos que no comparten nada tardan más.

¿El parche unificado tiene el mismo formato que produce git?

Sí. La exportación es un diff unificado estándar con cabeceras de hunk @@, así que se aplica con patch(1) y se pega en un comentario de revisión de código o en la descripción de un pull request sin reformatear. La profundidad de contexto es de tres líneas, el valor por defecto convencional.

¿Maneja los finales de línea de Windows?

Normaliza CRLF a LF antes de comparar, así que un archivo que pasó por un editor de Windows no reporta todas y cada una de las líneas como cambiadas. Si los finales de línea son justo lo que estás investigando, esa normalización es el comportamiento equivocado —compara entonces los bytes en bruto con una herramienta que trabaje a nivel hexadecimal.

¿Mi texto se envía a algún sitio?

No. La comparación se ejecuta en tu navegador. No hay paso de subida ni ruta de API; la página es un archivo estático y el algoritmo de diff es JavaScript ejecutándose en la pestaña que ya tienes abierta. Abre el panel Network y pega un documento —no aparece nada que lleve tu texto.

¿Qué más hay en ToolsByUs?

ToolsByUs — Herramientas de texto