Formateador XML

Sangra XML con el anidamiento correcto y atributos legibles. Pega un documento, formatea y copia o descarga el resultado, sin subir nada.

Entrada XML

Pega tu XML

XML con formato

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

  1. Pega tu XML en el cuadro de entrada o arrastra un archivo .xml.
  2. Elige el ancho de sangría: dos espacios es la convención habitual y cuatro se lee mejor en configuraciones muy anidadas.
  3. Pulsa Formatear XML.
  4. Lee el resultado: cada elemento anidado pasa a su propia línea y los atributos se quedan con el elemento al que pertenecen.
  5. 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.
  6. 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 &lt;b&gt;anidado&lt;/b&gt;</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

CriterioUrsaKitHacerlo por tu cuentaHerramienta típica
PreparaciónAbrir la páginaInstalar y ejecutar una CLIAbrir la página
AtributosJunto a su elementoSe conservanA veces se reordenan
Los datos salen del dispositivoNo, se ejecuta en el navegadorNoA menudo se envían a un servidor
Sangría2 o 4 espaciosConfigurableNormalmente fija
Comentarios y CDATAComentarios fuera, CDATA escapadoSe conservan tal cualA menudo se eliminan
Requiere registroNoNoA veces
Archivos grandesUnos pocos MB sin problemaDepende de tu equipoSuele haber límite
Preguntas frecuentes

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 &lt;b&gt;anidado&lt;/b&gt;. 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.

Todas las Herramientas