JSON y YAML son dos formatos de serialización de datos que representan las mismas estructuras (objetos, arrays, valores) con sintaxis diferentes. JSON usa llaves y comillas, priorizando la precisión máquina. YAML usa indentación y formato natural, priorizando la legibilidad humana. YAML es técnicamente un superconjunto de JSON — todo documento JSON válido es también YAML válido. Esta herramienta convierte bidireccionalmente entre ambos formatos, además de soportar CSV, XML, TOML y TSV.
¿Qué es YAML?
YAML (YAML Ain't Markup Language) es un formato de serialización diseñado para ser leído y escrito fácilmente por humanos. A diferencia de JSON, YAML usa indentación para representar la jerarquía (sin llaves ni corchetes), soporta comentarios con #, permite cadenas multilínea con operadores | y >, y ofrece anchors/aliases para reutilizar bloques. Es el formato preferido para configuración de Docker Compose, Kubernetes, GitHub Actions, GitLab CI y Ansible.
¿Cuál es la diferencia entre JSON y YAML?
La diferencia fundamental es el público objetivo: JSON está optimizado para máquinas (parsing rápido, sintaxis estricta, sin ambigüedad), YAML para humanos (legible, comentable, flexible). JSON requiere comillas en todas las claves y cadenas; YAML las infiere del contexto. JSON no soporta comentarios; YAML sí. JSON es más compacto para transmisión de datos; YAML es más cómodo para edición manual. En la práctica: usa JSON para APIs y comunicación entre servicios, YAML para todo archivo que un humano necesite leer y editar regularmente.
¿Cuándo usar YAML en vez de JSON?
Elige YAML cuando el archivo será editado frecuentemente por humanos: configuraciones de infraestructura (Docker, K8s, CI/CD), definiciones de esquemas, y archivos de proyecto. Elige JSON cuando el archivo será procesado principalmente por código: respuestas de API, datos de bases de datos, payloads de webhook. Si necesitas comentarios explicativos dentro del archivo, YAML es la única opción. ¿Necesitas formatear JSON? Prueba el formateador JSON.