Formatear y compactar XML

Pega el XML para aplicarle sangría o para quitar los espacios entre etiquetas. Los atributos, los comentarios, las secciones CDATA y la declaración vuelven sin cambios, y los errores de etiquetas se indican con línea y columna.

Se ejecuta localmente en tu navegador

Indentar y comprimir conservan los mismos datos

El formateador solo añade o quita espacios entre etiquetas; los valores de atributo, los comentarios, las secciones CDATA, la declaración, el DOCTYPE y las instrucciones de procesamiento se devuelven byte a byte. La compresión conserva los comentarios y un subárbol marcado con xml:space="preserve" queda intacto con los dos botones.

Cómo formatear o compactar XML

Aplica sangría al XML pegado para poder leerlo, o elimina los espacios entre etiquetas para dejar el documento compacto. La presentación se reconstruye con un solo recorrido: atributos, comentarios, secciones CDATA, declaración XML, DOCTYPE e instrucciones de procesamiento se escriben sin cambios.

El análisis se ejecuta en esta pestaña: no se sube nada y la página sigue funcionando sin conexión. Se comprueba el anidamiento de las etiquetas, no la validez frente a un DTD o un esquema XML.

  1. Pega el XML en el campo superior. La sangría y los saltos de línea del original no importan: la presentación se reconstruye a partir de la estructura.
  2. Pulsa Formatear XML para sangrar cada nivel con cuatro espacios, o Comprimir XML para quitar los espacios entre etiquetas y devolver el documento en el menor número de líneas posible.
  3. Lee el mensaje que aparece bajo los botones. Una etiqueta mal cerrada o sin cerrar, un segundo elemento raíz, texto fuera de la raíz, un «<» suelto en el texto o en un valor de atributo, un valor sin comillas y un comentario, una sección CDATA o una etiqueta sin terminar se indican con su línea y columna.
  4. Pulsa Copiar para llevarte el resultado; el botón copia la salida formateada y, si todavía no hay resultado, el texto de entrada. Limpiar vacía la entrada y el resultado a la vez.

Qué cambia el formateador y qué deja intacto

Qué cambia el formateo

Solo añade sangría: cuatro espacios por nivel, y un elemento cuyo contenido es únicamente texto se queda en una línea. El contenido mixto no se reordena, así que <p>Hello <b>world</b> !</p> conserva sus espacios y vuelve tal como se escribió.

Los valores de atributo, los comentarios, las secciones CDATA, la declaración, el DOCTYPE y las instrucciones de procesamiento se copian byte a byte, y el orden de los atributos se mantiene. La única excepción es un valor sin comillas como class=x, que se devuelve como class="x" y se avisa de ello, porque XML exige las comillas.

Qué elimina la compresión

La compresión quita los textos que solo contienen espacios entre etiquetas en todos los niveles, así que un documento indentado pasa a una sola línea compacta. El contenido textual no se toca: <a> spaced text </a> y el contenido mixto conservan sus espacios, y un elemento cuyo contenido entero son espacios también los conserva.

Los comentarios sobreviven a la compresión; bórralos tú si los bytes importan. Un subárbol marcado con xml:space="preserve" queda intacto con los dos botones.

Cuando el documento no está bien formado

Los problemas se indican por posición, por ejemplo «Línea 1, columna 10: </b> cierra <a> en su lugar.», «Línea 1, columna 7: <a> nunca se cierra.» o «Línea 1, columna 1: </x> no tiene etiqueta de apertura.». El resultado se muestra igualmente para que veas qué se pudo maquetar, pero lo primero que hay que corregir es la posición indicada.

Si la entrada no contiene ningún elemento (texto plano o solo espacios), la herramienta lo dice en lugar de inventar una salida. Solo se enumeran los cinco primeros problemas, con un recuento del resto.

Tamaño, velocidad y límites

Un documento de 600 KB con 20.000 elementos se formatea en unos 0,15 segundos en Chrome, y una salida de más de 200.000 caracteres se imprime sin coloreado para que la pestaña siga respondiendo. El techo práctico es la memoria de tu propio dispositivo.

La comprobación es solo estructural: no valida contra DTD ni esquemas XML, no resuelve entidades ni descarga archivos externos y no informa de qué prefijos de espacio de nombres están declarados. La sangría es fija, de cuatro espacios.

Herramientas recientes: