Formateador XML
Embellece, minifica y valida XML en el navegador — nada se sube. Reindenta XML desordenado e informa errores de conformidad con línea/columna. Gratis, privado, sin registro.
¿Qué es un Formateador XML y para qué sirve?
XML (Extensible Markup Language) es un formato basado en texto para datos estructurados, utilizado en todas partes: desde servicios web y archivos de configuración hasta feeds RSS, APIs SOAP, documentos de Office (DOCX, XLSX), gráficos SVG y archivos de diseño de Android. A diferencia de JSON, XML admite comentarios, espacios de nombres, contenido mixto (texto y elementos entrelazados) y declaraciones de tipo de documento — lo que lo convierte en el formato preferido para la integración empresarial, el intercambio de documentos y cualquier lugar donde los datos estructurados necesiten coexistir con marcado legible por humanos.
El XML en la práctica suele estar mal indentado o completamente minificado — las respuestas de API llegan en una sola línea, los archivos de configuración acumulan sangrías inconsistentes y el XML generado por serializadores no añade espacio en blanco alguno. Un formateador XML toma esa entrada desordenada y la reindenta en una estructura jerárquica limpia donde cada nivel de anidamiento es visualmente claro. Esto es esencial para la revisión de código, la depuración, la documentación y la comprensión de esquemas XML desconocidos.
**Lo que esta herramienta hace de forma diferente a un editor de texto simple:**
**1. Validación de conformidad con ubicación precisa del error.** El formateador utiliza el DOMParser del navegador (el mismo motor que analiza HTML y SVG) para parsear el XML. Si el documento no está bien formado — etiquetas no coincidentes, elementos sin cerrar, caracteres sin escapar o múltiples elementos raíz — el parser informa el número exacto de línea y columna donde falló. Esto es mucho más rápido que leer XML sin procesar buscando dónde se dejó accidentalmente abierta una etiqueta.
**2. Formateo sin pérdida.** El formateador preserva los comentarios, las instrucciones de procesamiento, las secciones CDATA, las declaraciones de espacios de nombres, el orden de atributos y todo el contenido de texto exactamente. Solo ajusta el espacio en blanco entre etiquetas de elementos. Puedes formatear con seguridad cualquier XML que te importe — nada significativo cambiará.
**3. Minificación para uso en producción.** El minificador elimina todo el espacio en blanco no significativo entre elementos, produciendo la representación XML válida más pequeña. Este es el paso de preprocesamiento correcto antes de almacenar XML en una columna de base de datos, insertarlo como cadena en JSON o transmitirlo por un canal con conteo de bytes.
**4. Privacidad 100% basada en el navegador.** El XML de salud (HL7, FHIR), los datos financieros, las cargas SOAP con credenciales y los archivos de configuración internos son cargas XML comunes que contienen datos sensibles. Esta herramienta nunca sube nada — todo el procesamiento se ejecuta en el motor JavaScript de tu navegador. Consulta nuestras herramientas complementarias si necesitas convertir en lugar de formatear: Conversor XML a JSON para convertir XML a JSON, y Conversor JSON a XML para la dirección inversa.
<!-- Minified XML input -->
<?xml version="1.0" encoding="UTF-8"?><catalog><product id="p01"><name>Wireless Headphones</name><price currency="USD">79.99</price></product></catalog>
<!-- After formatting with 2-space indent -->
<?xml version="1.0" encoding="UTF-8"?>
<catalog>
<product id="p01">
<name>Wireless Headphones</name>
<price currency="USD">79.99</price>
</product>
</catalog> Características principales
Embellece con sangría de 2 o 4 espacios
Reindenta el XML en una jerarquía limpia y legible. Elige sangría de 2 espacios (más común para servicios web, RSS y archivos de configuración) o de 4 espacios (común en esquemas XML empresariales) antes de formatear.
Minificar — Elimina el espacio en blanco no significativo
Elimina todo el espacio en blanco entre etiquetas de elementos sin tocar el contenido de texto, produciendo el XML válido más compacto. Ideal para almacenamiento, transmisión o incrustación como cadena dentro de JSON u otros formatos.
Validación de conformidad con errores de línea/columna
Usa el DOMParser integrado del navegador para validar la estructura XML. Informa el número exacto de línea y columna del primer error de conformidad — etiquetas no coincidentes, elementos sin cerrar, caracteres sin escapar — para una depuración rápida.
Sin pérdida: preserva comentarios, espacios de nombres y atributos
Los comentarios, las instrucciones de procesamiento, las secciones CDATA, las declaraciones de espacios de nombres y el orden de atributos se preservan exactamente. Solo se modifica el espacio en blanco no significativo entre etiquetas — tu contenido nunca se altera.
100% basado en el navegador — Sin carga, sin servidor
Todo el procesamiento se ejecuta localmente en tu navegador. Las cargas XML que contienen credenciales, datos de salud, registros financieros o configuraciones internas nunca se transmiten a ningún servidor y nunca se registran.
Compatible con SOAP, RSS, SVG, XHTML y XML de Android
Maneja cualquier aplicación XML bien formada: envelopes SOAP con cabeceras WS-Security, feeds RSS/Atom, archivos SVG, documentos XHTML, XMLs de diseño de Android, POMs de Maven y archivos de compilación de Maven/Ant.
Ejemplos
XML Compacto / Minificado
<?xml version="1.0" encoding="UTF-8"?><catalog><product id="p01" category="electronics"><name>Wireless Headphones</name><price currency="USD">79.99</price><stock>142</stock><tags><tag>audio</tag><tag>bluetooth</tag></tags></product><product id="p02" category="books"><name>Learning XML</name><price currency="USD">29.99</price><stock>55</stock></product></catalog>
Un catálogo de productos XML compacto en una sola línea. Haz clic en Formatear para indentarlo en un árbol legible con sangría de 2 espacios. La jerarquía de elementos, los atributos y el contenido de texto se preservan exactamente — el formato es puramente estético.
Fragmento de Feed RSS
<rss version="2.0"><channel><title>Go Tools Blog</title><link>https://go-tools.org/blog</link><description>Developer tools, tips and tutorials</description><item><title>Understanding XML Namespaces</title><link>https://go-tools.org/blog/xml-namespaces-guide</link><pubDate>Thu, 29 May 2026 00:00:00 GMT</pubDate><description>A deep dive into XML namespace declarations, prefixes, and scope rules with practical examples.</description></item><item><title>XML vs JSON: When to Use Each</title><link>https://go-tools.org/blog/xml-vs-json</link><pubDate>Mon, 25 May 2026 00:00:00 GMT</pubDate></item></channel></rss>
Un feed RSS 2.0 con dos elementos comprimidos en una línea. Tras el formateo, los metadatos del canal y cada elemento aparecen claramente indentados, facilitando la inspección de la estructura del feed, la adición de nuevos elementos o la comparación con los requisitos de un validador de feeds.
Envelope SOAP
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><soap:Header><wsse:Security xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd"><wsse:UsernameToken><wsse:Username>api-client</wsse:Username><wsse:Password Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-ext-1.0.xsd#PasswordText">s3cr3t</wsse:Password></wsse:UsernameToken></wsse:Security></soap:Header><soap:Body><GetOrderRequest xmlns="http://example.com/orders"><OrderId>ORD-20260529-001</OrderId><IncludeLineItems>true</IncludeLineItems></GetOrderRequest></soap:Body></soap:Envelope>
Un envelope SOAP 1.1 con cabecera WS-Security y cuerpo GetOrder que utiliza tres prefijos de espacio de nombres (soap:, wsse: y el predeterminado). El formateo hace que la separación cabecera/cuerpo y las declaraciones de espacios de nombres sean inmediatamente claras — esencial para depurar integraciones SOAP y leer cargas generadas por WSDL.
Cómo usar
- 1
Pega tu XML
Introduce o pega tu XML en el campo de entrada de arriba. También puedes hacer clic en 'Cargar ejemplo' para probar un ejemplo (un catálogo de productos XML minificado que se formatea bien).
- 2
Elige una acción
Haz clic en Formatear para embellecer con sangría, en Minificar para eliminar espacios en blanco, o en Validar para comprobar la conformidad. Selecciona 2 o 4 espacios para el tamaño de sangría antes de formatear.
- 3
Copia la salida
El XML procesado aparece en el panel de salida. Haz clic en Copiar para llevarlo al portapapeles. Si Validar encontró errores, el banner de error muestra el número exacto de línea y columna.
Errores comunes de XML
Etiquetas no coincidentes
Los nombres de etiquetas XML distinguen mayúsculas de minúsculas y deben coincidir exactamente.
<products>
<Item>
<name>Widget</name>
</item>
</products> <products>
<item>
<name>Widget</name>
</item>
</products> Ampersand o signo menor-que sin escapar
Los caracteres & y < están reservados en XML y deben escaparse fuera de las secciones CDATA. Un & desnudo causa un error de parser incluso en valores de atributos. Usa & para & y < para <. El signo mayor-que > debería escaparse como > en el contenido de texto, aunque los parsers son más tolerantes al respecto.
<query>price > 10 & stock > 0</query>
<query>price > 10 & stock > 0</query>
Atributos sin comillas o con comillas incorrectas
Todos los valores de atributos XML deben estar entre comillas simples o dobles. Los valores de atributos sin comillas son válidos en HTML5 pero constituyen un error de conformidad en XML. Además, un valor que contiene una comilla doble debe usar comillas simples como delimitadores (o escapar la comilla como ").
<product id=p01 label="It's a "widget"">
<product id="p01" label="It's a "widget"">
Múltiples elementos raíz
Un documento XML debe tener exactamente un elemento raíz que contenga todos los demás elementos. Un error común al unir fragmentos XML es acabar con dos o más elementos de nivel superior uno al lado del otro, lo cual no es XML válido (aunque sí es común en HTML). Envuelve todos los elementos hermanos en un único contenedor raíz.
<user><name>Alice</name></user> <user><name>Bob</name></user>
<users> <user><name>Alice</name></user> <user><name>Bob</name></user> </users>
Desajuste de codificación en la declaración XML
Si tu archivo XML está guardado en UTF-16 u otra codificación que no sea UTF-8 pero la declaración dice encoding="UTF-8" (o está ausente, lo que por defecto es UTF-8), algunos parsers lo rechazarán o producirán caracteres ilegibles. Al pegar en una herramienta basada en navegador, el navegador maneja la codificación automáticamente. Para archivos en disco, asegúrate de que el atributo de codificación coincida con la codificación real del archivo.
<?xml version="1.0" encoding="UTF-8"?> <!-- File is actually saved as UTF-16 -->
<?xml version="1.0" encoding="UTF-16"?> <!-- File saved as UTF-16, declaration matches -->
Sección CDATA no cerrada correctamente
Una sección CDATA comienza con . Si falta la secuencia de cierre ]]> o está mal escrita, el parser trata todo lo que sigue como parte de la sección CDATA hasta que encuentre otro ]]> o llegue al final del documento. Esto generalmente se manifiesta como errores de 'fin de documento inesperado'.
<script><![CDATA[
if (a < b && b > c) { return true; }
<!-- ]]> is missing --> <script><![CDATA[
if (a < b && b > c) { return true; }
]]></script> Casos de uso comunes
- Depurar cargas SOAP / de servicios web
- Las respuestas SOAP de APIs empresariales y servicios web heredados llegan como cadenas XML de una sola línea. Pega la carga sin procesar en el formateador para ver instantáneamente la estructura del envelope, las cabeceras y el cuerpo — facilitando encontrar el campo que necesitas o detectar un desajuste de espacio de nombres. Véase también: Conversor XML a JSON si necesitas procesar la carga más en JavaScript.
- Validar archivos de configuración y descriptores de despliegue
- Los archivos POM de Maven, los contextos de aplicación XML de Spring, el server.xml de Tomcat, los archivos de manifiesto de Android y muchos otros archivos de configuración de Java/empresa son XML. Ejecútalos a través de Validar antes de confirmarlos para detectar etiquetas no coincidentes o problemas de codificación que de otro modo solo aparecerían en tiempo de compilación o despliegue.
- Formatear la salida de feeds RSS y Atom
- Los feeds RSS 2.0 y Atom 1.0 son XML. Al desarrollar un generador de feeds o depurar problemas de compatibilidad con lectores de feeds, formatea el XML del feed sin procesar para inspeccionar los metadatos del canal, la estructura de los elementos y las declaraciones de espacios de nombres requeridas una al lado de la otra.
- Leer y editar archivos SVG
- Los archivos SVG exportados desde Figma, Illustrator o Sketch son XML válido pero a menudo están minificados o contienen sangría excesiva del exportador. Formatea el SVG para obtener un árbol de elementos limpio y navegable antes de hacer ediciones manuales a los paths, grupos o atributos de estilo.
- Preparar XML para almacenamiento o transmisión
- Al almacenar XML en una columna de base de datos, enviarlo como campo de cadena JSON en una solicitud de API o insertarlo en una cola de mensajes, usa primero Minificar para eliminar el espacio en blanco innecesario. Esto reduce el tamaño de la carga y evita problemas con los parsers JSON que pueden atascarse con caracteres de control sin escapar en cadenas XML grandes con sangría.
- Convertir XML a JSON
- Si necesitas convertir tu XML formateado a JSON para usarlo en una aplicación JavaScript o API REST, usa nuestro Conversor XML a JSON. Para la dirección inversa — construir XML desde una estructura JSON — usa el Conversor JSON a XML.
Detalles técnicos
- DOMParser del navegador para el análisis XML
- El análisis XML utiliza el DOMParser nativo del navegador con el tipo MIME 'text/xml'. Este es el mismo motor que potencia el renderizado de SVG y XHTML en el navegador — es completamente compatible con XML 1.0 e informa errores de conformidad con información de línea y columna. Cuando el documento no está bien formado, DOMParser devuelve un documento parsererror que contiene el mensaje de error y la posición, que esta herramienta extrae y muestra.
- Serialización del árbol DOM para el formateo
- El formateo funciona analizando el XML en un árbol DOM y luego recorriendo el árbol de forma recursiva para producir la salida con sangría. Este enfoque preserva la estructura semántica del documento: el anidamiento de elementos, el contenido de texto, los atributos, las secciones CDATA, las instrucciones de procesamiento y los comentarios se serializan de vuelta exactamente como se analizaron. Solo se descartan los nodos de texto de solo espacio en blanco entre elementos — los nodos de texto que contienen caracteres que no son espacios en blanco siempre se preservan.
- Minificación mediante eliminación de nodos de texto de solo espacio en blanco
- La minificación recorre el mismo árbol DOM y elimina los nodos de texto cuyo contenido es completamente espacio en blanco (espacios, tabulaciones, saltos de línea). Los nodos de texto con contenido mixto o que no es solo espacio en blanco — los datos reales entre etiquetas — nunca se eliminan. Los atributos y sus valores se serializan sin espacio en blanco añadido. El resultado es la representación XML bien formada más compacta del documento original.
- 100% basado en el navegador — Sin carga, sin servidor
- Todo el procesamiento se ejecuta en el entorno JavaScript de tu navegador. No se transmiten datos a ningún servidor en ningún momento. Esto es especialmente importante para las cargas XML que frecuentemente contienen contenido sensible: tokens SOAP WS-Security, datos de pacientes HL7, configuración interna de servicios y formatos de mensajes financieros (FIX, SWIFT ISO 20022). La herramienta es segura de usar con cualquier XML que no querrías pegar en un servicio público.
Buenas prácticas
- Valida antes de formatear, formatea antes de confirmar
- Valida tu XML primero para confirmar que está bien formado antes de reformatear — el formateador producirá silenciosamente una salida incorrecta si la entrada no es XML válido. Una vez validado, formatea y revisa la salida con sangría antes de confirmar archivos de configuración, plantillas de feeds o definiciones WSDL en el control de versiones.
- Usa sangría de 2 espacios para formatos web, 4 espacios para XML empresarial
- La sangría de dos espacios es la convención para feeds RSS/Atom, SVG, XHTML, XML de Android y la mayoría del XML orientado a la web. La sangría de cuatro espacios es común en entornos empresariales de Java (POM de Maven, archivos de contexto de Spring, descriptores de despliegue de JBoss). Adapta la convención de tus archivos existentes y de tu cadena de herramientas.
- Minifica el XML antes de incrustarlo en JSON
- Si necesitas incrustar una cadena XML como valor de campo JSON, minifícalo siempre primero. El XML con sangría contiene saltos de línea y múltiples espacios que deben escaparse en JSON (\n, múltiples \u0020), lo que infla drásticamente el tamaño de la carga. El XML minificado también es mucho menos probable que active límites de longitud de línea en proxies intermediarios o sistemas de registro.
- Escapa los caracteres especiales en el contenido de texto, usa CDATA con moderación
- Para valores de texto cortos que contienen & o <, usa referencias de entidad (&, <) — son más portátiles que las secciones CDATA y también funcionan en valores de atributos. Reserva las secciones CDATA () para incrustar grandes bloques de código, consultas SQL o fragmentos HTML donde escapar cada carácter especial haría el contenido ilegible.
- Declara los espacios de nombres lo antes posible
- Declara los espacios de nombres XML (xmlns:prefix="URI") en el elemento raíz o en el elemento de nivel más alto que use el prefijo. Declarar espacios de nombres en lo profundo de un árbol de documentos hace el XML más difícil de leer y puede causar problemas con los parsers XML basados en flujo (SAX, StAX) que procesan los espacios de nombres de forma incremental. El ejemplo del Envelope SOAP anterior demuestra el patrón recomendado: todas las declaraciones de espacios de nombres en el elemento raíz Envelope.
Preguntas frecuentes
¿Se envían mis datos XML a un servidor cuando uso esta herramienta?
¿Qué comprueba el botón Validar?
¿La validación comprueba contra un Esquema XML (XSD) o DTD?
¿Cuál es la diferencia entre Formatear (Embellecer) y Minificar?
¿El formateo preserva los comentarios XML y los atributos?
¿Cómo formato XML con sangría de 4 espacios en lugar de 2?
¿Qué versión y codificación XML admite esta herramienta?
¿Qué causa un error de 'conformidad' y cómo lo soluciono?
¿Puedo usar esta herramienta para formatear archivos XHTML o SVG?
¿Cómo gestiona esta herramienta los espacios de nombres XML?
¿Existe un límite de tamaño para la entrada XML?
¿Cómo convierto XML a JSON o JSON a XML?
Herramientas relacionadas
Ver todas las herramientas →Decodificador y Codificador Base64
Codificación y Formato
Decodifica y codifica Base64 online de forma gratuita. Conversión en tiempo real con soporte completo de UTF-8 y emojis. 100% privado — funciona en tu navegador. Sin registro.
Convertidor de CSV a JSON
Codificación y Formato
Convierte CSV a JSON en tu navegador. RFC 4180, inferencia de tipos, fila de cabecera, seguro para big-int. 100% privado, sin carga.
JSON Diff (Comparar)
Codificación y Formato
Compara dos archivos JSON al instante en tu navegador. Resaltado lado a lado, salida RFC 6902 JSON Patch, ignora campos ruidosos como marcas de tiempo e IDs. 100% privado, sin carga.
Formateador y Validador JSON
Codificación y Formato
Formatea, valida y embellece JSON al instante en tu navegador. Herramienta gratuita con validación sintáctica, detección de errores, minificación y copia con un clic. 100% privado.
Validador JSON Schema
Codificación y Formato
Valida JSON contra cualquier JSON Schema al instante en tu navegador. Compatible con Draft 2020-12, 2019-09 y Draft-07 con mensajes de error con ruta precisa. 100% privado, sin carga, sin cuenta, gratis.
Convertidor de JSON a CSV
Codificación y Formato
Convierte JSON a CSV en tu navegador. Presets RFC 4180, Excel-EU, TSV y Pipe. Aplana anidados o stringify. 100% privado, sin carga.