Convertidor de JSON a YAML

Pega JSON a la izquierda y obtén YAML 1.2 con sangría consistente a la derecha. Se ejecuta en tu navegador — sin subida.

  1. Pega JSON en el área de texto izquierda.
  2. Haz clic en "Convertir a YAML". La salida YAML aparece a la derecha.
  3. Copia el resultado, o haz clic en Descargar para guardar como data.yaml.
  4. Si el JSON es inválido, el mensaje de error apunta a la posición ofensiva.
¿Qué hace?

Convierte JSON a YAML 1.2 equivalente. Los objetos se vuelven mappings, los arrays se vuelven sequences, y números/booleanos/null/cadenas conservan su tipo. La salida usa sangría de 2 espacios y ancho de línea de 100 columnas por defecto. El round-trip JSON → YAML → JSON produce datos semánticamente idénticos, aunque comentarios y matices de orden son limitaciones del lado JSON a tener en cuenta.

Ejemplo

Entrada JSON:

{"name":"Ada","tags":["math","logic"],"active":true}

Salida YAML:

name: Ada
tags:
  - math
  - logic
active: true

Errores comunes de JSON y cómo arreglarlos

JSON tiene que ser válido antes de que esta herramienta pueda convertirlo a YAML. El parser apunta a la línea y columna de cualquier fallo — estos son los patrones que explican casi todos los errores de "JSON inválido".

  • Coma final. `{"a": 1, "b": 2,}` es inválido. JSON no permite una coma tras el último elemento de un objeto o array.
  • Comillas simples. `{'a': 1}` es inválido. Las cadenas y claves JSON deben usar comillas dobles.
  • Claves sin comillas. `{a: 1}` es inválido — los literales de objeto JavaScript lo permiten, pero JSON no. Envuelve la clave en comillas dobles.
  • Comentarios. Los comentarios // o /* */ no se permiten en JSON estricto. Quítalos antes de convertir, o usa la salida YAML (que admite comentarios #) y pega manualmente.
  • Comillas tipográficas. Copiar-pegar desde un procesador de texto a veces reemplaza " con comillas curvas — JSON las rechaza. Reescribe o pega a través de un editor de texto plano.
  • NaN / Infinity. JSON no tiene representación para NaN, Infinity, o -Infinity. Si tus datos los contienen, elige: serializar como null (pierde información) o como la cadena "NaN" (preserva intención pero cambia el tipo).
Preguntas frecuentes

¿Por qué mi salida YAML no tiene comentarios?

JSON no tiene sintaxis de comentarios, así que no hay comentarios que llevar. Si quieres YAML comentado, edita la salida a mano tras la conversión. Algunos equipos codifican comentarios como un campo `_comment` en JSON, pero esos se vuelven claves regulares en YAML — no comentarios reales.

¿Se preservará el orden de mis claves?

Sí. El orden de claves de un objeto JSON se preserva como orden de mapping YAML — igual que JSON.parse + JSON.stringify en navegadores modernos, que mantienen orden de inserción. Si necesitas orden alfabético, ordena el JSON primero.

¿Cómo se formatean estructuras profundamente anidadas?

La salida YAML usa sangría de 2 espacios por nivel, con secuencias en estilo bloque (un ítem por línea, prefijado con `-`). Los objetos y arrays vacíos se renderizan como `{}` y `[]` respectivamente — estilo flow, ya que el bloque sería ambiguo para vacío.

¿Esto admite datos binarios?

JSON no tiene tipo binario nativo, así que los binarios suelen estar ya codificados como cadena base64 en la entrada. La salida YAML preserva esa cadena. Si realmente necesitas el formato binario YAML (`!!binary`), la conversión no lo produce — mantén el enfoque de cadena base64.

¿Es seguro para JSON sensible como claves de API?

Sí. Todo se ejecuta en tu navegador. Tu entrada se parsea y convierte por JavaScript en esta página; ningún servidor es contactado. Verifícalo en las herramientas de desarrollador — cero peticiones de red al hacer clic en Convertir.

¿Puedo hacer round-trip JSON → YAML → JSON?

Para los datos, sí — la semántica se preserva. Para texto byte-equivalente exacto, no — espacios y entrecomillado se normalizan. Si necesitas una forma canónica estable, ejecuta JSON.stringify con claves ordenadas antes de pegar.