Conversor de JSON a YAML
Convierte JSON a YAML en tu navegador. 100% del lado del cliente, sin subir archivos ni registrarse. Conserva el orden de las claves y muestra errores de análisis con la línea aproximada. Compatible con formatos de configuración de OpenAPI y Kubernetes.
Acerca del conversor de JSON a YAML
Casos de uso habituales de JSON a YAML
La conversión de JSON a YAML resulta más útil al trabajar con herramientas basadas en configuración, como los manifiestos de Kubernetes, los archivos de Docker Compose, los flujos de trabajo de GitHub Actions, los playbooks de Ansible y los values de los charts de Helm. Las respuestas de las API suelen estar en JSON, pero la mayoría de las herramientas de infraestructura modernas esperan YAML para la configuración que editan las personas. Al pegar aquí el JSON obtienes un YAML listo para confirmar en el repositorio, sin salir del navegador.
Ejemplo de conversión (entrada y salida)
Entrada: { "name": "formatarc", "features": ["json", "yaml"] }. Salida: name: formatarc con features listado en un bloque indentado. Las llaves y las claves entre comillas desaparecen, los arrays y los objetos anidados usan indentación, y el resultado es bastante más fácil de leer que el JSON original para una revisión humana.
Diferencias de sintaxis clave respecto a JSON
YAML usa indentación en lugar de llaves, y los valores de cadena normalmente no necesitan comillas. YAML admite comentarios con #, mientras que JSON no tiene sintaxis de comentarios: cualquier comentario presente en una entrada JSON no estándar se descarta durante el análisis. Este conversor conserva el orden de claves declarado, de modo que la salida YAML refleja la estructura de la entrada JSON con exactitud.
| Aspecto | JSON | YAML |
|---|---|---|
| Estructura | Llaves y corchetes | Indentación |
| Cadenas | Siempre entre comillas | Comillas normalmente opcionales |
| Comentarios | No permitidos | Admitidos con # |
| Orden de claves | Conservado por esta herramienta | Conservado por esta herramienta |
| Más adecuado para | API e intercambio de datos | Archivos de configuración y CI/CD |
Conversión de especificaciones OpenAPI y Swagger de JSON a YAML
Las especificaciones de OpenAPI 3.0 / 3.1 y Swagger 2.0 a menudo se escriben o se exportan como JSON, pero la mayoría de los editores, linters y herramientas de CI esperan YAML. Pega aquí la especificación JSON para obtener una versión YAML que mantiene intactas las referencias $ref, las claves de las rutas y el orden de los componentes. Como el conversor nunca ordena las claves alfabéticamente, la estructura de la especificación se mantiene válida, lo que evita la corrupción de esquema que pueden introducir los reformateadores genéricos. El resultado queda listo para herramientas como Redoc, Swagger UI o el linting con Spectral.
Cómo funciona la conversión
La herramienta primero valida el JSON y luego serializa el objeto resultante como YAML. La entrada no válida se rechaza con una referencia de línea aproximada antes de ejecutar la conversión. No se envía nada a ningún servidor: cada paso se ejecuta en el navegador. Para un recorrido más detallado de los patrones de conversión de JSON a YAML, consulta el artículo guía complementario de JSON a YAML.
Qué conserva este conversor y qué no puede conservar
Conserva el orden de las claves, la profundidad de anidación, los tipos de valor (cadena, número, booleano, null) y la estructura de los arrays. No puede transferir comentarios de JSON (JSON no tiene ninguno), y la salida usa YAML en estilo de bloque de forma predeterminada para una mejor legibilidad. Para la mayoría de los flujos de trabajo con Kubernetes, Docker Compose y OpenAPI, el YAML queda listo para usarse sin necesidad de editarlo.
Comandos de una línea para la CLI: yq, Python y Node.js
¿Prefieres la terminal o necesitas esto dentro de una canalización de CI/CD? Estos comandos de una línea producen el mismo YAML en estilo de bloque con el orden de las claves conservado. Para un recorrido completo con casos límite como YAML de varios documentos y escalares de bloque, consulta la guía de JSON a YAML.
yq -P -o=yaml '.' input.json > output.yamlpython -c "import json,sys,yaml; yaml.safe_dump(json.load(sys.stdin), sys.stdout, sort_keys=False)" < input.jsonnode -e "const y=require('js-yaml'),f=require('fs'); console.log(y.dump(JSON.parse(f.readFileSync(0,'utf8'))))" < input.json