La conversión de YAML a JSON transforma datos escritos en YAML (YAML Ain't Markup Language) a JSON (JavaScript Object Notation). Ambos formatos representan datos estructurados como pares clave-valor, secuencias y objetos anidados, pero difieren en la sintaxis. YAML usa indentación y puntuación mínima, mientras que JSON usa llaves, corchetes y comillas obligatorias. Convertir entre ambos es una tarea habitual cuando se trasladan datos de configuración entre sistemas que esperan formatos distintos.
YAML fue diseñado para ser legible por humanos. Admite comentarios, cadenas multilínea, anclas y alias, ninguno de los cuales existe en JSON. Al convertir YAML a JSON, estas características propias de YAML se resuelven: las anclas se expanden en línea, los comentarios se descartan y los bloques multilínea se convierten en cadenas escapadas. El resultado es JSON válido que cualquier analizador JSON puede leer.
La especificación YAML 1.2 define explícitamente JSON como un subconjunto de YAML, lo que significa que todo documento JSON válido también es YAML válido. Lo contrario no es cierto. Los documentos YAML que usan comentarios, anclas o claves complejas no tienen un equivalente JSON directo y deben simplificarse durante la conversión. Esta herramienta gestiona esa conversión de forma automática, produciendo JSON limpio y bien formateado a partir de cualquier entrada YAML válida.
¿Por qué usar un convertidor de YAML a JSON online?
Convertir YAML a JSON a mano es propenso a errores, especialmente con estructuras muy anidadas o valores multilínea. Un convertidor en el navegador te da el resultado al instante y detecta errores de sintaxis YAML antes de que lleguen a tu aplicación.
⚡
Conversión instantánea en tu navegador
Pega tu YAML y obtén la salida JSON formateada en milisegundos. Sin herramientas CLI que instalar, sin pasos de compilación, sin dependencias que gestionar.
🔀
Compatible con cualquier estructura YAML válida
Soporta mappings anidados, secuencias, cadenas multilínea (bloques literales y plegados), anclas, alias, merge keys y todos los tipos escalares de YAML 1.2.
🔒
Tus datos permanecen privados
Todo el análisis se ejecuta localmente en tu navegador mediante JavaScript. Tu contenido YAML nunca se envía a un servidor, lo que lo hace seguro para archivos de configuración que contienen credenciales o rutas internas.
📋
Copia o ajusta el formato de salida
Elige entre indentación de 2 o 4 espacios. Copia el resultado JSON al portapapeles con un clic para usarlo directamente en código, peticiones a APIs o archivos de configuración.
Casos de uso de YAML a JSON
Desarrollo frontend
Convierte archivos de configuración YAML de un design system o CMS a JSON para que los consuman bundlers de JavaScript, REST APIs o librerías de i18n que requieren entrada JSON.
Ingeniería backend
Transforma el application.yml de Spring Boot o el database.yml de Rails a JSON para alimentar scripts de despliegue, API gateways o servicios que solo aceptan configuración JSON.
DevOps y CI/CD
Convierte docker-compose.yml, flujos de trabajo de GitHub Actions o manifiestos de Kubernetes a JSON para herramientas de validación, motores de políticas como OPA, o depuración con jq.
QA y testing
Convierte fixtures de prueba en YAML a payloads JSON para herramientas de testing de APIs como Postman, Insomnia o suites de pruebas automatizadas que esperan cuerpos de petición JSON.
Ingeniería de datos
Convierte definiciones de pipeline en YAML (Airflow, dbt, Dagster) a JSON para validación de esquemas, manipulación programática o integración con catálogos de metadatos.
Aprendizaje y documentación
Observa rápidamente cómo se mapean las estructuras YAML a sus equivalentes JSON cuando estudias formatos de configuración o escribes documentación.
Referencia de mapeo de tipos YAML a JSON
Cada tipo de dato YAML se mapea a un tipo JSON específico durante la conversión. La tabla siguiente muestra cada construcción YAML junto con su salida JSON. Entender estos mapeos te ayuda a predecir cómo quedarán tus datos YAML tras la conversión y a evitar sorpresas con tipos como booleanos o valores null.
Tipo YAML
Sintaxis YAML
Salida JSON
Mapping
name: Alice
{ "name": "Alice" }
Sequence
- apple\n- banana
["apple", "banana"]
String
greeting: hello world
"hello world"
Integer
count: 42
42
Float
ratio: 3.14
3.14
Boolean
active: true
true
Null
value: null
null
Multiline (|)
bio: |\n Line one\n Line two
"Line one\nLine two\n"
Folded (>)
note: >\n A long\n paragraph
"A long paragraph\n"
Anchor/Alias
&default\n <<: *default
Resolved inline (no $ref)
Sintaxis YAML vs JSON
YAML y JSON representan el mismo modelo de datos pero con reglas de sintaxis distintas. Las diferencias a continuación explican por qué algunas características de YAML — como los comentarios y las anclas — no tienen equivalente en JSON.
YAML
Usa indentación para el anidamiento (sin llaves). Admite comentarios con #. Las cadenas normalmente no necesitan comillas. Permite valores multilínea con | (literal) y > (plegado). Admite anclas (&nombre) y alias (*nombre) para reutilización. En YAML 1.2, solo true y false se reconocen como valores booleanos; los analizadores YAML 1.1 más antiguos también aceptaban yes, no, on y off, pero estos se tratan como cadenas simples en YAML 1.2.
JSON
Usa llaves y corchetes para el anidamiento. Sin sintaxis de comentarios. Todas las cadenas deben ir entre comillas dobles. Sin literales de cadena multilínea — usa secuencias de escape \n en su lugar. Sin mecanismo de anclas ni alias. Los valores booleanos son estrictamente true y false en minúsculas. Todas las claves deben ser cadenas entre comillas. Las comas al final no son válidas.
Ejemplos de código
A continuación se muestran ejemplos funcionales para convertir YAML a JSON de forma programática. Cada ejemplo analiza una cadena YAML y produce JSON formateado.
# Convert a YAML file to JSON with yq
yq -o=json config.yaml > config.json
# Pipe YAML into yq for one-off conversion
echo "name: demo" | yq -o=json
# → { "name": "demo" }
# Python one-liner (no extra install on most systems)
python3 -c "import yaml, json, sys; print(json.dumps(yaml.safe_load(sys.stdin), indent=2))" < config.yaml
Preguntas frecuentes
¿Es YAML un superconjunto de JSON?
Sí, a partir de YAML 1.2 (publicada en 2009). Todo documento JSON válido es también YAML válido. La especificación YAML se actualizó expresamente para garantizar la compatibilidad total con JSON. Sin embargo, lo contrario no es cierto — características de YAML como comentarios, anclas y claves sin comillas no tienen equivalente en JSON.
¿Qué ocurre con los comentarios YAML durante la conversión?
Los comentarios se descartan. JSON no tiene sintaxis de comentarios, por lo que cualquier línea que comience con # en tu YAML se pierde durante la conversión. Si necesitas conservar los comentarios, mantén el archivo YAML original como fuente de verdad y genera el JSON a partir de él cuando sea necesario.
¿Cómo se gestionan las anclas y los alias YAML?
Las anclas (&nombre) y los alias (*nombre) se resuelven durante el análisis. El alias se reemplaza por una copia completa de los datos anclados. El JSON resultante no contiene referencias — todos los valores se expanden en línea. Las merge keys (<<: *nombre) se resuelven de la misma forma.
¿Puede perderse información al convertir YAML a JSON?
En cuanto a los valores de datos, no. Todos los tipos escalares de YAML (cadenas, números, booleanos, null) tienen equivalentes directos en JSON. Lo que se pierde: comentarios, directivas de etiqueta, nombres de anclas y la distinción entre estilos de bloque y flujo. Si tu YAML utiliza etiquetas personalizadas (!!python/object, !!timestamp), estas se resuelven a valores simples o pueden provocar un error de análisis según el analizador.
¿Por qué el booleano YAML 'yes' se convierte en cadena en JSON?
Esta herramienta usa js-yaml v4, que sigue la resolución de booleanos de YAML 1.2. Solo true y false (en cualquier combinación de mayúsculas y minúsculas) se reconocen como booleanos. Valores como yes, no, on y off se tratan como cadenas simples y aparecen como cadenas entre comillas en la salida JSON. Si ves valores de cadena inesperados donde esperabas booleanos, cambia a true o false en tu fuente YAML.
¿Cuál es el tamaño máximo de archivo YAML que puede manejar esta herramienta?
La herramienta se ejecuta en tu navegador, por lo que el límite depende de la memoria disponible en tu dispositivo. En la práctica, los archivos de hasta varios megabytes se convierten sin problemas. Para archivos muy grandes (50 MB o más), una herramienta CLI como yq o un script Python con PyYAML será más fiable, ya que puede procesar los datos en streaming en lugar de cargarlos todos en memoria a la vez.
¿Cómo se convierten las cadenas multilínea de YAML a JSON?
YAML tiene dos estilos de bloque escalar multilínea. Los bloques literales (|) preservan los saltos de línea como caracteres \n en la cadena JSON. Los bloques plegados (>) reemplazan los saltos de línea simples por espacios, convirtiendo múltiples líneas en un único párrafo. Ambos estilos añaden un salto de línea al final por defecto, que puedes eliminar con el indicador de recorte (|- o >-).