XML a YAML
Convierta configuración XML a YAML: atributos con @, etiquetas repetidas como lista y valores que parecen números entre comillas
Sus datos se quedan con usted. La conversión ocurre dentro del navegador; no se envía nada a ningún servidor.
¿Le sirvió esta herramienta?
Gracias, su comentario llegó.
Cómo funciona
Si va a pasar la configuración XML de un proyecto Java antiguo, o la salida XML de un servicio, a un manifiesto de Kubernetes, un playbook de Ansible o el application.yml de Spring Boot, pegue el XML en el panel izquierdo. El YAML aparece a la derecha en cuanto lo pega. La etiqueta raíz se convierte en la clave superior: un documento que empieza con <servidor> empieza con la línea "servidor:". Cada atributo recibe una @ delante (entorno="produccion" → "@entorno": produccion) y una etiqueta que aparece dos veces bajo el mismo padre (dos <permiso>) se convierte en una lista bajo una sola clave. XML no tiene números ni booleanos: <puerto>8080</puerto> es texto. En cambio, YAML lee 8080 sin comillas como número y on como true en los analizadores antiguos. Por eso la herramienta escribe "8080" y "on" entre comillas y le indica cuántos valores protegió. Quite las comillas solo a propósito, cuando el programa de destino espere de verdad un número. Sangría: 2 o 4 espacios; YAML no admite tabuladores. Los comentarios, instrucciones de proceso (<?...?>) y el DOCTYPE no se trasladan.
Esta herramienta también se busca como convertir xml a yaml, xml a yaml, xml to yaml, convertidor xml yaml, xml a yaml en linea.
¿Qué es YAML?
YAML es un formato de datos que expresa la estructura con sangría en lugar de llaves; lo usan los manifiestos de Kubernetes, los flujos de GitHub Actions, docker-compose y el application.yml de Spring Boot. Cada línea tiene la forma "clave: valor" o "- elemento", el anidamiento se hace con espacios y el tabulador está prohibido. El analizador adivina el tipo de los valores sin comillas: cómodo al escribir a mano, arriesgado con datos que vienen de XML, donde todo es texto.
¿Qué es Atributo XML?
Un atributo es un dato extra dentro de la etiqueta de apertura con la forma nombre="valor": en <servidor entorno="produccion">, entorno es un atributo. YAML no separa atributos y elementos hijos; ambos se convierten en claves. Por eso el convertidor pone una @ delante del nombre del atributo: la diferencia se conserva y, al generar de nuevo XML a partir del YAML, se sabe qué claves eran atributos.
¿Cuál es la diferencia entre XML y YAML?
XML encierra cada valor entre una etiqueta de apertura y otra de cierre, admite atributos y puede validarse con un esquema (XSD); a cambio, es largo. YAML escribe la misma estructura con sangría y sin etiquetas, mucho más corto, y por eso domina en archivos de configuración editados a mano. La diferencia clave está en los tipos: en XML, 8080 es texto; en YAML, 8080 sin comillas es un número. Los atributos y el texto mixto no existen en YAML y viajan con convenciones como @ y #text.
La trampa: "on" en XML se vuelve true en YAML
XML transporta cada valor como texto; el tipo lo decide un esquema o el programa. YAML adivina por su cuenta el tipo de un valor sin comillas: 8080 es un número, true un booleano, null un valor vacío. Los analizadores de YAML 1.1 (PyYAML, versiones antiguas de Ruby, algunas de Ansible) tratan además yes, no, on, off y fechas como 2026-09-27. Sin comillas, <https>on</https> se volvería true, y NO (Noruega) en una lista de países se volvería false.
La misma protección sirve para identificadores con cero inicial, como un código postal 01000 de la Ciudad de México: leído como número perdería el cero. Con comillas, el lector de YAML ve exactamente el texto que tenía el XML.
- <puerto>8080</puerto> → puerto: "8080"
- <https>on</https> → https: "on" (sin comillas = true en YAML 1.1)
- <pais>NO</pais> → pais: "NO" (sin comillas = false)
- <cp>01000</cp> → cp: "01000" (el cero inicial se conserva)
Cómo se escriben atributos, listas y texto mixto
Tres estructuras de XML no tienen equivalente directo en YAML. En las tres, la herramienta sigue las mismas reglas que el convertidor de XML a JSON, para que ambas salidas coincidan. Un atributo se convierte en una clave con @ delante: <producto id="7"> → "@id": "7". Como @ está reservado en YAML, la clave va entre comillas.
Una etiqueta repetida bajo el mismo padre se convierte en lista; una etiqueta única, no. Si un <producto> aparece solo, el YAML muestra un mapeo y no una lista: téngalo en cuenta si su código siempre espera una lista. Cuando un elemento tiene texto y etiquetas hijas, el texto va bajo la clave "#text". El convertidor de YAML a XML aplica las mismas reglas al revés.
Preguntas frecuentes
¿Cómo convierto un archivo XML a YAML?
Abra el archivo XML en un editor de texto, copie su contenido y péguelo en el panel izquierdo de esta página. El YAML aparece al instante a la derecha; elija 2 o 4 espacios de sangría y copie el resultado o descárguelo como .yaml. Si el XML está mal formado, el mensaje indica la etiqueta y el número de línea.
¿Por qué algunos valores salen entre comillas en el YAML?
En XML todo valor es texto, pero YAML lee 8080 sin comillas como número, on y yes como true y NO como false. Para no cambiar el significado, la herramienta pone esos valores entre comillas y muestra cuántos fueron. Si el programa de destino espera un número, puede quitar las comillas usted mismo.
¿Se pierden los atributos XML en YAML?
No. Cada atributo se escribe como una clave con @ delante: <servidor entorno="produccion"> → "@entorno": produccion. Las declaraciones de espacio de nombres (xmlns) también se conservan como atributos. El convertidor de YAML a XML las vuelve a convertir en atributos.
¿Mi XML se envía a un servidor?
No. La lectura del XML y la escritura del YAML se hacen por completo en su navegador; contraseñas o direcciones de servidor de su configuración no salen de esta página. Una vez cargada, la página funciona incluso sin conexión a internet.