Formateador XML
Sangra XML con el anidamiento correcto y atributos legibles. Pega un documento, formatea y copia o descarga el resultado, sin subir nada.
Pega tu XML
Resultado
¿Qué hace un formateador de XML?
Un formateador de XML vuelve a sangrar el documento para que la jerarquía de elementos se vea de un vistazo: cada etiqueta anidada ocupa su propia línea con una sangría uniforme y los atributos permanecen en el elemento al que pertenecen. El resultado sigue siendo el mismo documento.
XML sigue siendo el formato detrás de buena parte de la infraestructura: archivos pom.xml de Maven y layouts de Android, configuración de .NET y Java, respuestas SOAP, feeds RSS y Atom, SVG. Muchos llegan minificados en una sola línea generada por un build o una API, y así no hay quien los lea ni los revise. Si el objetivo es llevar los datos a un front end en lugar de leerlos, usa antes el [conversor de XML a JSON](/xml-to-json).
Los trabajos típicos de edición de XML se repiten: heredar un archivo de configuración generado por otra persona, encontrar qué elemento perdió la etiqueta de cierre, revisar un diff antes de desplegar o pegar una respuesta SOAP en un informe de error. Esta página no valida: cuando necesites saber que el documento está bien formado y no solo que se lee, pásalo por el [validador de XML](/xml-validator).
Cómo formatear XML
- Pega tu XML en el cuadro de entrada o arrastra un archivo .xml.
- Elige el ancho de sangría: dos espacios es la convención habitual y cuatro se lee mejor en configuraciones muy anidadas.
- Pulsa Formatear XML.
- Lee el resultado: cada elemento anidado pasa a su propia línea y los atributos se quedan con el elemento al que pertenecen.
- Revisa lo que deba sobrevivir intacto: los comentarios se eliminan, CDATA se reescribe como texto escapado y los valores numéricos como 42.50 o 007 se normalizan a 42.5 y 7.
- Copia la salida o descárgala como archivo .xml.
Ejemplos de formato XML
Respuesta SOAP minificada
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"><soap:Body><GetPriceResponse><Price currency="EUR">42.50</Price></GetPriceResponse></soap:Body></soap:Envelope>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<GetPriceResponse>
<Price currency="EUR">42.5</Price>
</GetPriceResponse>
</soap:Body>
</soap:Envelope>Fragmento de pom.xml de Maven
<project><modelVersion>4.0.0</modelVersion><groupId>com.example</groupId><artifactId>demo</artifactId></project>
<project> <modelVersion>4.0.0</modelVersion> <groupId>com.example</groupId> <artifactId>demo</artifactId> </project>
Ítem RSS con CDATA
<item><title>Release 2.0</title><description><![CDATA[Corrige fallos de <b>anidado</b>]]></description></item>
<item> <title>Release 2.0</title> <description>Corrige fallos de <b>anidado</b></description> </item>
Los atributos se mantienen
<user id="7" role="admin"><name>Ada</name><active>true</active></user>
<user id="7" role="admin"> <name>Ada</name> <active>true</active> </user>
Formateador XML: UrsaKit frente a otras opciones
| Criterio | UrsaKit | Hacerlo por tu cuenta | Herramienta típica |
|---|---|---|---|
| Preparación | Abrir la página | Instalar y ejecutar una CLI | Abrir la página |
| Atributos | Junto a su elemento | Se conservan | A veces se reordenan |
| Los datos salen del dispositivo | No, se ejecuta en el navegador | No | A menudo se envían a un servidor |
| Sangría | 2 o 4 espacios | Configurable | Normalmente fija |
| Comentarios y CDATA | Comentarios fuera, CDATA escapado | Se conservan tal cual | A menudo se eliminan |
| Requiere registro | No | No | A veces |
| Archivos grandes | Unos pocos MB sin problema | Depende de tu equipo | Suele haber límite |
Preguntas frecuentes
¿El formato conserva mis datos?
En gran medida. Los nombres de etiqueta, el orden de los atributos y el contenido de texto se mantienen, pero el analizador normaliza lo que reescribe: los comentarios se eliminan, CDATA se escribe como texto escapado y valores numéricos como 42.50, 007 o 1e3 pasan a 42.5, 7 y 1000. Si un documento debe reproducirse tal cual (IDs con ceros a la izquierda, códigos postales, comentarios), guarda el original y usa el resultado solo para leer.
¿Qué pasa con CDATA y los comentarios?
Los comentarios desaparecen de la salida y un bloque CDATA se reescribe como texto escapado: <![CDATA[Corrige fallos de <b>anidado</b>]]> vuelve como Corrige fallos de <b>anidado</b>. Conserva el archivo original cuando un comentario o un CDATA deba sobrevivir intacto.
¿Por qué falla el formato?
Solo se detiene cuando el texto no se puede analizar en absoluto, por ejemplo con un carácter < suelto. Una etiqueta de cierre ausente o un atributo sin comillas suele aceptarse y repararse en silencio, así que esta página no comprueba la validez: usa el validador de XML cuando necesites saber que el documento está bien formado.
¿Se sube mi XML?
No. El análisis y el formato se ejecutan localmente en tu navegador.
¿Admite archivos grandes?
Los archivos de hasta unos pocos megabytes van bien; los documentos enormes dependen de la memoria de tu dispositivo.
¿Qué sangría elijo?
Dos espacios es la convención habitual y cuatro se usa mucho en configuraciones muy anidadas; cualquiera vale si el documento entero es coherente. Si tu proyecto usa tabulador, formatea en tu editor.
¿Cómo formateo XML en VS Code, IntelliJ o Notepad++?
En VS Code abre el archivo y pulsa Shift+Alt+F en Windows y Linux, o Shift+Option+F en macOS. En IntelliJ IDEA y otros IDE de JetBrains selecciona el archivo y usa Code → Reformat Code (Ctrl+Alt+L, o Cmd+Option+L en macOS). Eclipse reformatea con Ctrl+Shift+F, y Notepad++ necesita el plugin XML Tools, que añade Pretty Print.