Datos

YAML a JSON

Pegá YAML y obtené JSON equivalente. Útil para configs de Kubernetes, GitHub Actions, Docker Compose y cualquier YAML que necesites procesar como JSON.

Instantáneo🔒En tu navegadorSin registro
En vivo

YAML: legible para humanos, exigente para parsers

YAML (acrónimo recursivo de "YAML Ain't Markup Language") nació en 2001 como alternativa a XML para configs. Su gran idea: usar indentación en lugar de llaves o corchetes para denotar jerarquía. El resultado es un formato que se lee como una lista de bullets en lugar de código. Por eso lo usan Kubernetes, Docker Compose, GitHub Actions, GitLab CI, Ansible y casi todas las herramientas devops modernas.

Por qué convertir a JSON

  • Procesar en JavaScript. El browser parsea JSON nativamente; YAML requiere una librería externa de varios KB.
  • APIs. Casi todas las APIs REST aceptan JSON. Si tu config viene en YAML, hay que convertir.
  • Validar con herramientas existentes. JSON Schema es maduro; las equivalentes para YAML son menos comunes.
  • Diff entre versiones. Diff de YAML puede ser engañoso por la indentación; diff de JSON minificado es siempre claro.

Casos típicos

  • Inspeccionar un manifest de Kubernetes. Lo pasás a JSON para verlo en una API tool o ejecutar jq sobre él.
  • Migrar config a un sistema que solo soporta JSON. Mucho legacy aún espera JSON.
  • Test snapshots. En testing es más fácil snapshotear estructuras como JSON.
  • Pasar a un endpoint REST. Algunas APIs admiten YAML pero la mayoría no.

Limitaciones de este conversor

Soporta la sintaxis más común que cubre el 95% de los casos: scalars (strings, numbers, booleans, null), listas con guiones, mapas anidados con dos puntos, y comentarios con #. No soporta features avanzados de YAML como anchors (&), aliases (*), custom tags (!!str), multi-document streams (---) ni flow style mezclado. Para esos casos, usá una librería completa como js-yaml.

Trampas frecuentes de YAML

  • Indentación con tabs. YAML solo permite espacios. Mezclar tabs y espacios rompe el parser.
  • Booleanos accidentales. "yes", "no", "on", "off", "y", "n" se interpretan como booleanos. Si querés el string literal, ponelo entre comillas.
  • Numbers que parecen strings. "012" se interpreta como octal en YAML 1.1; mejor entre comillas.
  • El problema "Norway". El código ISO de Noruega es "NO" y YAML lo convierte a false. Una saga famosa: countries: [NO, NL] termina con [false, "NL"].

YAML vs JSON: cuál usar

Para configuración que un humano va a editar a mano, YAML es más legible. Para datos que viajan entre máquinas, JSON es más estricto y rápido de parsear. Una buena práctica: escribí configs en YAML, pero compilalas a JSON al hacer build, y serví JSON en producción. Reduce sorpresas con tipos ambiguos y mejora el rendimiento del parser.

Tips de seguridad

YAML tiene una historia complicada con la seguridad porque permite ejecutar código arbitrario via tags si el parser lo soporta (CVE de Ruby psych, Python pyyaml). Si parseás YAML que viene de fuentes no confiables, usá un loader "safe" que solo permita tipos básicos. Este conversor no ejecuta código bajo ninguna circunstancia.

Preguntas frecuentes

¿Por qué convertir YAML a JSON?

Para procesar en JavaScript sin librerías, enviar a APIs que solo aceptan JSON, o validar con JSON Schema.

¿Qué soporta este conversor?

Scalars, listas, objetos anidados, comentarios. No soporta anchors, aliases ni custom tags.

¿Por qué YAML usa indentación?

Para ser más legible que JSON o XML. Pero esto lo hace sensible a errores de espaciado.

¿Te sirvió este generador?