Conversor JSON ↔ YAML
Ida y vuelta entre JSON y YAML en tu navegador. Usa js-yaml — perfecto para Kubernetes, GitHub Actions y configuraciones de CI.
¿Para qué sirve YAML?
YAML es la versión amable de JSON: mismo modelo de datos (objetos, arrays, cadenas, números, booleanos, null), pero con sangría significativa en lugar de llaves y corchetes y con soporte para comentarios. Por eso YAML domina los archivos de configuración editados a mano: manifests de Kubernetes, values de Helm, workflows de GitHub Actions, pipelines de CI, Docker Compose, playbooks de Ansible y casi cualquier configuración moderna de aplicación viven en YAML. JSON, en cambio, manda en formatos de transporte y APIs porque cualquier lenguaje lo parsea sin esfuerzo. Esta herramienta te deja saltar entre los dos sin salir del navegador. JSON → YAML es útil para tomar una respuesta de API y convertirla en manifest de Kubernetes, o para reformatear una colección de Postman para un tutorial. YAML → JSON sirve cuando una herramienta exige JSON o quieres validar un YAML contra un JSON Schema. La conversión usa la conocida biblioteca js-yaml, cargada desde un CDN solo la primera vez que pulsas Convertir; el resto es 100% navegador.
Cómo usarlo
Elige dirección, pega tus datos, pulsa Convertir. El resultado aparece debajo con un botón para copiar.
- Elige la dirección — Usa JSON → YAML para convertir respuestas de API o configs generados en algo editable a mano. Usa YAML → JSON cuando una herramienta exige JSON o necesitas enviar tu config YAML a una API HTTP.
- Prueba un ejemplo — Pulsa Service de Kubernetes, GitHub Action o Config de app para cargar un ejemplo realista que puedas editar y convertir. El ejemplo se adapta a la dirección elegida.
- Elige la sangría — 2 espacios es lo que esperan la mayoría de los linters y herramientas (Kubernetes, Ansible, Helm). Usa 4 espacios solo si tu equipo lo tiene estandarizado.
- Ordena las claves para diffs estables — Activa Ordenar claves A→Z para una salida en orden alfabético. Es útil para diffs de git y snapshots cuando dos herramientas emiten los mismos datos en distinto orden de claves.
Reglas de mapeo entre los formatos
Ambos formatos comparten el modelo lógico, así que la mayoría de los valores hacen round-trip idéntico. Cadenas, números, booleanos, null, arrays y objetos se mapean uno a uno. js-yaml sigue YAML 1.2, que (a diferencia de la 1.1) no trata yes, no, on, off como booleanos — solo true y false —, evitando el famoso "problema de Noruega". Las cadenas multilínea en YAML usan bloques literal (|) o folded (>); al convertir desde JSON, esta herramienta emite cadenas con comillas y \n escapado por portabilidad. Los comentarios solo existen en YAML; convertir JSON → YAML → JSON descarta los comentarios porque JSON no tiene dónde guardarlos.
Referencia rápida
Algunos valores y cómo se traducen entre los dos formatos.
| JSON | YAML |
|---|---|
{ "a": 1 } | a: 1 |
[1, 2, 3] | - 1 |
"yes" | 'yes' (con comillas para mantenerlo cadena) |
null | null (o vacío / ~) |
"line\nbreak" | "line\nbreak" |
{ "n": 1.0 } | n: 1.0 (sigue siendo float) |
Preguntas frecuentes
¿Por qué mi YAML muestra la cadena "true" como booleano?
YAML interpreta true y false sin comillas como booleanos. Si quieres la cadena literal, encomíllala: flag: "true". El conversor respeta lo que escribas.
¿Funciona con archivos YAML multi-documento?
YAML admite varios documentos en el mismo archivo, separados por ---. Este conversor parsea solo el primer documento al ir a JSON. Para bundles de manifests de Kubernetes, divide el archivo antes o convierte cada documento por separado.
¿Por qué mis comentarios YAML desaparecen tras el round-trip?
JSON no soporta comentarios. Cuando vas de YAML a JSON, todos los comentarios se descartan. El camino inverso no puede recuperarlos. Guarda una copia del YAML si los comentarios importan.
¿La conversión es sin pérdidas en configs típicos?
Para Kubernetes, GitHub Actions, Docker Compose y similares — sí, con la única pérdida siendo los comentarios y el estilo concreto de cadenas multilínea. Números, fechas como cadenas ISO, booleanos, mapas anidados y arrays vuelven idénticos.
¿Y las anclas y aliases (&ref / *ref)?
js-yaml resuelve anclas y aliases al parsear, así que el JSON resultante contiene los valores ya materializados. La dirección contraria no introduce anclas automáticamente — si dependes de ellas para evitar repeticiones, vas a tener que volver a colocarlas a mano.
¿Se envía algo a un servidor?
No. La biblioteca js-yaml se descarga de un CDN público la primera vez que pulsas Convertir y queda en caché. La conversión misma corre por entero en tu navegador.
EN
PT
ES