YAML explicado + JSON vs. YAML
Actualizado 2026-07-06
Si alguna vez has editado un archivo de configuración de una herramienta moderna — Docker Compose, GitHub Actions, Kubernetes — has escrito YAML. Está diseñado para ser el formato de datos más legible para las personas, pero esa legibilidad viene con unas cuantas aristas afiladas. Esta guía explica cómo funciona YAML, las trampas que vigilar y cómo se compara con JSON.
Qué es YAML
YAML («YAML Ain’t Markup Language») es un formato de datos para representar las mismas cosas que JSON — pares clave/valor, listas y estructuras anidadas — pero con una sintaxis pensada para que las personas la lean y escriban a mano. Es la opción por defecto para los archivos de configuración precisamente porque es fácil de ojear.
name: RunWebTools active: true tags: - json - free address: city: London postcode: null
Cómo funciona la sintaxis
Tres ideas cubren la mayor parte de YAML:
- La sangría muestra la estructura. El anidamiento se expresa con espacios, no con llaves. Los elementos con la misma sangría son hermanos.
- Los pares clave/valor usan
key: value(el espacio tras los dos puntos es obligatorio). - Las listas usan un
-al inicio de cada elemento.
Las trampas
Espacios, nunca tabuladores
YAML prohíbe los caracteres de tabulación para la sangría — provocan un error de análisis. Configura tu editor para que inserte espacios, porque los dos se ven idénticos en pantalla pero solo uno es válido.
El «problema de Noruega»
YAML intenta adivinar los tipos, lo que de vez en cuando le sale por la culata. Sin comillas, no, yes, on y off se vuelven booleanos — es famoso que el código de país NO de Noruega puede convertirse en false. Cuando quieras una cadena literal, ponla entre comillas: "NO".
Los errores de sangría son silenciosos
Como el espacio en blanco tiene significado, una sola línea desalineada puede cambiar la estructura sin ningún error — el archivo simplemente se analiza como algo que no pretendías. Pasarlo por un validador de YAML que reemita el resultado analizado es la forma más rápida de ver qué entendió YAML realmente.
YAML vs. JSON
Pueden representar los mismos datos — de hecho, todo JSON válido es también YAML válido. Las compensaciones:
- Legibilidad: YAML gana para las personas — sin llaves ni comillas, y admite comentarios (
#), cosa que JSON no. - Rigor: JSON gana para las máquinas — su sintaxis rígida deja poco margen para la adivinación de tipos y las sorpresas de sangría que YAML permite.
- Caso de uso: recurre a YAML para archivos que editan personas (configuración) y a JSON para datos que intercambian programas (APIs).
¿Necesitas pasar de uno a otro? Formatea y comprueba cualquiera con el formateador de YAML y el formateador de JSON. Si YAML se te hace quisquilloso, nuestra guía sobre JSON y sus errores comunes es una buena lectura complementaria.
Más de Formatos de datos y codificación
Ver todas las guías de Formatos de datos y codificación →Herramientas mencionadas en esta guía