Formatea, minifica y valida cualquier XML — respuestas REST, sobres SOAP, fuentes RSS, sitemap, Maven, AndroidManifest. Salida con resaltado de sintaxis e informes de errores por línea + columna. Todo en tu navegador.
Well-formed es el conjunto básico de reglas estructurales: las etiquetas deben anidarse y cerrarse correctamente, los atributos deben ir entrecomillados, debe haber un único elemento raíz, los caracteres especiales deben escaparse (<, &, etc.). Esta herramienta comprueba well-formed usando el DOMParser nativo del navegador.
Validez es una comprobación más estricta contra un esquema (DTD, XSD, RelaxNG) — "el documento se ajusta a esta gramática". El DOMParser del navegador no hace validación de esquema; para validación XSD necesitas una herramienta del lado del servidor como xmllint --schema.
Sí. Las secciones CDATA (<![CDATA[…]]>) mantienen su contenido tal cual está escrito — los caracteres especiales que contienen no se vuelven a escapar. Los comentarios (<!-- … -->) y las processing instruction (<?xml-stylesheet … ?>) se devuelven a sus posiciones originales. La declaration XML y la línea doctype se conservan como las primeras líneas.
Entrada
Salida
Hecho para XML real, no para ejemplos de juguete
Sobres SOAP, fuentes RSS, sitemap, Maven `pom.xml`, AndroidManifest — manejados correctamente al formatear, minificar y validar.
Formateo con sangría adecuada
Sangría configurable de 2 espacios, 4 espacios o Tab. Las etiquetas auto-cerradas siguen auto-cerradas. Las secciones CDATA, los comentarios, las processing instruction y la declaration XML sobreviven al ciclo de formateo.
Minificar
Elimina los espacios en blanco no significativos entre elementos y colapsa el documento entero a una sola línea. Útil para incrustar XML en un campo string de JSON o enviarlo por una conexión ajustada.
Validar con línea + columna
Comprobación de well-formed usando el DOMParser nativo del navegador. En caso de error, la línea y columna del marcado defectuoso se muestran en línea para que puedas saltar directo al problema.
Salida con resaltado de sintaxis
Nombres de etiquetas, atributos, valores de atributos, texto, comentarios, CDATA y processing instruction están todos coloreados para que la estructura sea legible al instante.
Privacidad por diseño
Cada byte permanece en el navegador. El parseo, formateo, validación y descarga se ejecutan como JavaScript en tu máquina. Abre DevTools → Network y verifica cero peticiones salientes.
Pequeño + rápido
JavaScript puro, sin runtime de framework. La carga en frío es de menos de 25 KB en gzip. Formatear un documento XML de 200 KB y volver a renderizar con resaltado de sintaxis tarda menos de 80 ms.
Cómo formatear y validar XML
Cuatro pasos para pasar de un XML desordenado a una salida limpia y validada.
1
Pega tu XML
Suelta o pega cualquier carga XML — respuestas de API REST, sobres SOAP, fuentes RSS / Atom, sitemap, configuraciones. La herramienta formatea automáticamente mientras escribes (debounce de 350 ms).
2
Elige la sangría
2 espacios es el predeterminado moderno (coincide con Prettier y la mayoría de las guías de estilo). 4 espacios es la convención más antigua (Java y.NET). Tab coincide con el ancho de tabulación de tu editor — útil cuando el documento se va a editar a mano.
3
Validar o minificar
Validar reporta cualquier error de well-formed con línea + columna. Minificar colapsa el documento a una sola línea — útil para incrustar XML en un string JSON, una columna de base de datos o una variable de shell.
4
Copiar o descargar
Haz clic en el icono de copiar para enviar el XML limpio al portapapeles, o descárgalo como formatted.xml. La salida conserva CDATA, comentarios, processing instruction y la declaration XML.
Hecho para SOAP, RSS, sitemap y archivos de configuración
Cuatro flujos de trabajo XML comunes en los que un formateador de navegador con privacidad ante todo supera a abrir un IDE.
Depuración de SOAP / API
Pega una respuesta SOAP cruda desde tu log de red, formatéala, y la falla real se hace visible dentro del envelope. La línea + columna del error te permite saltar a un prefijo de namespace mal formado o a un & sin escapar en segundos.
Autoría de sitemap y RSS
Pega tu `sitemap.xml` escrito a mano o tu fuente RSS, valida well-formed antes de enviarlo a Search Console / agregadores. Minifícalo para que quepa en una sola línea y poder incrustarlo en scripts de automatización.
Archivos de build y configuración
Maven pom.xml, beans de Spring, mapeos de NHibernate, Android AndroidManifest.xml — todos se benefician de un nuevo formateo tras ediciones manuales. Valida antes de hacer commit para detectar erratas que el build se quejaría de otra manera.
Documentos ofimáticos y entrañas de EPUB
.docx, .xlsx, .pptx y .epub son todos ZIPs de XML. Extrae el XML interno, pégalo aquí, formatea, y podrás leer o editar la estructura de forma limpia antes de volver a comprimirlo.
100% privado — se ejecuta en tu navegador
Las cargas XML nunca salen de tu dispositivo. Abre DevTools → Network y verás cero peticiones salientes durante el formateo, validación, copia o descarga.
El parseo usa el DOMParser nativo del navegador; el formateo y minificado son simples recorridos en JavaScript sobre el árbol DOM resultante.
Sin validador remoto, sin API XML de terceros. Cada byte de tu XML permanece en tu máquina.
Sin login, sin telemetría sobre el contenido del documento. Solo usamos una cookie para el estado de consentimiento de cookie y otra para la preferencia de idioma.
Guías relacionadas
Lecturas seleccionadas sobre XML, depuración de SOAP y flujos con archivos de configuración.
¿Qué es well-formed y cuál es la diferencia con XML "válido"?
Well-formed es el conjunto básico de reglas estructurales: las etiquetas deben anidarse y cerrarse correctamente, los atributos deben ir entrecomillados, debe haber un único elemento raíz, los caracteres especiales deben escaparse (<, &, etc.). Esta herramienta comprueba well-formed usando el DOMParser nativo del navegador.
Validez es una comprobación más estricta contra un esquema (DTD, XSD, RelaxNG) — "el documento se ajusta a esta gramática". El DOMParser del navegador no hace validación de esquema; para validación XSD necesitas una herramienta del lado del servidor como xmllint --schema.
¿El formateo conserva CDATA, comentarios y processing instruction?
Sí. Las secciones CDATA (<![CDATA[…]]>) mantienen su contenido tal cual está escrito — los caracteres especiales que contienen no se vuelven a escapar. Los comentarios (<!-- … -->) y las processing instruction (<?xml-stylesheet … ?>) se devuelven a sus posiciones originales. La declaration XML y la línea doctype se conservan como las primeras líneas.
¿Puedo pegar un sobre SOAP o una fuente RSS?
Sí, cualquier cosa well-formed funciona — sobres SOAP (con los prefijos de namespace soap:Envelope, soap:Body), fuentes RSS / Atom, sitemap, SVG, plist, Maven pom.xml, configuración de Spring, EPUB container.xml, Android AndroidManifest.xml. Los prefijos de namespace se conservan — no eliminamos los atributos xmlns:.
¿Por qué mi XML dice "parser error" cuando parece estar bien?
Las causas más comunes: (1) un & sin escapar dentro de texto o valores de atributo — debe ser &; (2) dos elementos raíz (XML permite exactamente uno); (3) una etiqueta escrita de forma distinta a su etiqueta de cierre (p. ej. <Item>…</item> — XML distingue mayúsculas y minúsculas); (4) un valor de atributo sin comillas; (5) un < sin emparejar en el contenido textual. La línea + columna que aparece en el mensaje de error apunta a la posición que falla.
¿Se envía algo a tu servidor?
No. El parseo, formateo, minificado, validación, resaltado de sintaxis y la descarga se ejecutan como JavaScript en tu navegador. Abre DevTools → Network y verás cero peticiones salientes durante el uso. Usamos una cookie para el estado de consentimiento de cookie y otra para la preferencia de idioma, eso es todo.