100 % local: tus datos nunca salen de tu navegador

XML a YAML — legible en un paso

Convierte XML a YAML. El árbol pasa a ser indentación en vez de etiquetas, que suele ser la razón por la que querías sacarlo del XML.

Instantáneo Privado Cero cookies
Indentación
Invertir: YAML → XML

Entrada XML

Salida YAML

Qué hace esta herramienta

El documento se convierte en un mapa YAML, con la misma forma que produce XML a JSON: atributos como claves con prefijo @_, texto bajo #text cuando un elemento lleva ambos, y una secuencia cuando un elemento se repite.

<user id="1"><name>Ada</name></user>
user:
  name: Ada
  "@_id": "1"

Por qué esas claves van entrecomilladas

Dos de los caracteres que produce esta correspondencia están reservados en YAML.

@ no puede empezar un escalar simple —la especificación lo reserva—, así que @_id debe ir entre comillas. # abre un comentario: #text sin comillas haría desaparecer el resto de la línea. Las comillas no son adorno; son la única forma de escribirlos.

Por qué algunos valores también

YAML tiene dos versiones de uso extendido, y no coinciden en lo que significa una palabra desnuda.

escrito sin comillasYAML 1.2 leeYAML 1.1 lee
NOla cadena NOfalso
yesla cadena yesverdadero
12:30la cadena 12:30750 (sexagesimal)
2026-01-01la cadenauna marca de tiempo

YAML 1.2 es lo que escriben la mayoría de las bibliotecas de JavaScript. YAML 1.1 es lo que implementa PyYAML, y PyYAML es con lo que una parte enorme del mundo lee YAML de verdad.

Un código de país NO escrito sin comillas se convierte en False en Python. Ese es el «problema noruego», y nada en el archivo lo señala: el documento sigue siendo válido, simplemente deja de significar lo mismo.

Esta herramienta entrecomilla exactamente esos escalares ambiguos, y solo esos. Un booleano de verdad sigue siendo true, un null de verdad sigue siendo null, una palabra corriente se queda desnuda. La salida es YAML 1.2 válido, y ambos lectores encuentran en ella los mismos valores.

Texto de varias líneas

Un texto con saltos de línea se convierte en un escalar de bloque:

a: |-
  primera línea
  segunda línea

Es la forma legible que YAML prevé justo para esto, y va y vuelve sin escapes.

Privado por diseño

Todo se ejecuta localmente en tu navegador con JavaScript. Tus datos nunca se suben a un servidor, lo que hace que la herramienta sea segura para contenido sensible y funcione sin conexión.

Preguntas frecuentes

¿Por qué unas claves llevan comillas y otras no?
Porque YAML reserva dos caracteres que esta conversión produce. `@` no puede empezar un escalar simple —la especificación lo reserva para uso futuro—, así que una clave de atributo `@_id` debe ir entrecomillada. `#` abre un comentario, de modo que `#text` también. Todo lo demás se escribe sin comillas.
¿Por qué mi NO lleva comillas? Lo quería sin ellas.
Porque sin comillas dejaría de ser la cadena `NO` para buena parte de los lectores. YAML 1.1, que implementa PyYAML, lee `NO` a secas como el booleano falso: el famoso «problema noruego». Las comillas cuestan dos caracteres y mantienen el código de país como código de país.
¿Cómo obtengo una lista cuando solo hay un elemento?
No puedes, solo con el documento: un `<item>` y una lista de un `<item>` se escriben igual en XML, y únicamente un esquema los distingue. Un elemento da un mapa; dos o más, una secuencia. Normaliza en el lado consumidor si necesita una lista en ambos casos.

Convertidores relacionados