Convertidor de YAML a JSON

Convierte datos YAML a JSON. Transforma al instante en tu navegador estructuras escritas en YAML —manifiestos de Kubernetes, docker-compose.yml, archivos de configuración de CI— a un formato que herramientas exclusivas de JSON como jq puedan procesar.

Qué es la conversión de YAML a JSON

La conversión de YAML a JSON toma una configuración escrita en el formato YAML, pensado para que las personas lo lean y editen con comodidad —manifiestos de Kubernetes, archivos docker-compose.yml, definiciones de flujos de trabajo de GitHub Actions— y la transforma, directamente en tu navegador, en JSON, un formato que los programas pueden procesar de manera mecánica. Esta herramienta entiende mapas (`clave: valor`), secuencias de bloque (`- elemento`), secuencias de flujo (`[a, b, c]`), mapas de flujo (`{a: 1, b: 2}`), escalares básicos como cadenas de texto, enteros, decimales, booleanos y nulos, además de comentarios con `#`. Mientras tu YAML se limite a las construcciones habituales en los archivos de configuración del día a día, puedes pegarlo y obtener de inmediato una representación JSON funcional.

Dicho esto, este conversor no implementa la especificación YAML 1.2 completa. Deja fuera deliberadamente las anclas (`&`) y los alias (`*`) usados para reutilizar valores, los flujos multidocumento (una segunda marca `---` o posterior provoca un error), los escalares de bloque (`|` y `>`) para cadenas de varias líneas, y las secuencias anidadas en la misma línea como `- - elemento`. Si tu entrada depende de alguna de estas funciones avanzadas, la conversión fallará con un error, así que conviene reescribir esa parte en una forma equivalente más simple antes de pegarla. Todo el procesamiento se ejecuta localmente en tu navegador: nada de lo que pegues se envía jamás a un servidor externo, algo importante cuando el YAML que estás revisando contiene credenciales o detalles de infraestructura interna.

Cómo usar el convertidor de YAML a JSON

  1. Pega tu YAML Pega el YAML que quieras convertir en el cuadro de entrada de la izquierda. Si no tienes un archivo a mano, pulsa "Cargar ejemplo" para probar primero con un ejemplo funcional.
  2. Revisa el JSON convertido El resultado en JSON aparece a la derecha en cuanto escribes o pegas el texto. Si la entrada tiene un problema de sintaxis, se muestra en su lugar un mensaje de error que explica la causa probable.
  3. Activa o desactiva el formato legible Activa "Formato legible" para obtener un diseño con sangría fácil de leer, o desactívalo para reducirlo todo a una sola línea sin saltos de línea, según convenga al lugar donde vayas a pegar el resultado.
  4. Copia o descarga el resultado Usa el botón de copiar para enviar el JSON directamente al portapapeles, o el botón de descargar para guardarlo como un archivo .json independiente para usarlo más adelante.

Consejos para aprovecharla mejor

  • Pega directamente un manifiesto de Kubernetes o un docker-compose.yml para visualizar su estructura como JSON, de modo que herramientas de línea de comandos como jq, que solo entienden JSON, puedan consultarlo.
  • Los valores sin comillas que empiezan con un cero a la izquierda, como códigos postales o números de teléfono, se interpretan como números y pierden ese cero inicial; pon siempre comillas a los valores que quieras conservar como texto.
  • El YAML complejo que usa anclas (`&`), alias (`*`) o escalares de bloque (`|`/`>`) no es compatible. Reescríbelo en una forma más simple antes de pegarlo.
  • Desmarca "Formato legible" para obtener un JSON en una sola línea sin saltos de línea, útil al pegarlo en el cuerpo de una solicitud a una API donde no se quieren saltos de línea.

Dónde ayuda la conversión de YAML a JSON

Consultar un manifiesto de Kubernetes con jq

Los manifiestos pueden llegar fácilmente a varios cientos de líneas. Conviértelo a JSON y pásalo a jq, y una ruta como `.spec.containers[].image` extrae al instante exactamente el valor que necesitas.

Pasar docker-compose.yml a un script

Si un script o una automatización que estás escribiendo no incluye ya un analizador de YAML, convertir primero el archivo compose a JSON te permite leerlo con nada más que un analizador JSON estándar.

Visualizar la estructura de una configuración de CI

Pega un archivo de flujo de trabajo de GitHub Actions o GitLab CI para ver su estructura convertida en JSON: las relaciones anidadas que son fáciles de perder de vista con solo la indentación se vuelven rutas de clave explícitas.

Prepararte para trabajar con una herramienta o API que solo acepta YAML

Aunque tu fuente de datos sea JSON, convertir primero un archivo YAML existente puede ayudarte a confirmar exactamente cómo está organizada su estructura antes de programar contra él.

Encadenar con otras herramientas de JSON

Pega el JSON convertido directamente en JSON a definiciones de tipos de TypeScript o en el formateador de JSON para seguir trabajando con él.

Glosario de YAML

YAML
Un acrónimo recursivo de "YAML Ain't Markup Language". YAML representa la estructura anidada mediante indentación en lugar de corchetes, y permite comentarios y comillas mayormente opcionales, por lo que es el formato preferido para los archivos de configuración que las personas editan a mano.
Mapa (mapping)
Una estructura de YAML que empareja claves con valores usando la sintaxis `clave: valor`. Corresponde a un objeto JSON, y las líneas que comparten el mismo nivel de indentación se tratan como claves que pertenecen al mismo nivel de la estructura.
Secuencia de bloque
Un arreglo de YAML escrito como una serie de líneas que empiezan cada una con un guion y un espacio, como `- elemento`. Corresponde a un arreglo JSON; esta herramienta lee una serie de líneas `-` en el mismo nivel de indentación como un único arreglo.
Estilo de flujo
Una forma de escribir una secuencia o un mapa en una sola línea sin usar el estilo de bloque basado en indentación, como `[a, b, c]` o `{a: 1, b: 2}`. Se parece mucho más a cómo se escriben los arreglos y objetos de JSON.
Anclas y alias
Una función de YAML donde `&nombre` etiqueta un valor para que pueda referenciarse en otro lugar con `*nombre`, permitiendo reutilizar el mismo bloque de configuración sin repetirlo. Esta herramienta no admite esta función.
Escalar de bloque
Una forma de escribir una cadena de varias líneas que empieza con `|` (que conserva los saltos de línea) o `>` (que los pliega en espacios). Es habitual para incrustar scripts de shell o descripciones largas, pero esta herramienta no lo admite.
Flujo de documentos
Un mecanismo para agrupar varios documentos YAML en un solo archivo, separados por marcas `---`. Las configuraciones de Kubernetes suelen agrupar así varios recursos, pero esta herramienta solo convierte un documento a la vez.

Preguntas frecuentes

Resulta útil cuando quieres consultar o procesar un manifiesto de Kubernetes o un archivo de configuración de CI con una herramienta de línea de comandos exclusiva de JSON como jq, o cuando una API o script solo acepta JSON y no puede recibir YAML directamente.

No. Esta herramienta es un analizador ligero limitado a las construcciones más habituales (mapas, secuencias, escalares básicos), por lo que las funciones de reutilización de valores como anclas y alias, los flujos multidocumento y los escalares de bloque (`|`/`>`) quedan fuera de su alcance.

La causa más habitual es una indentación inconsistente: elementos del mismo nivel con un número distinto de espacios, o indentación hecha con tabulaciones en lugar de espacios. La falta de un espacio tras los dos puntos en `clave: valor` también provoca fallos de análisis.

Esta herramienta solo admite la dirección de YAML a JSON. Si necesitas formatear o validar JSON o YAML por separado, consulta las demás herramientas de formato de este sitio.
Tool-kun

A propósito — Por qué los archivos de configuración se escriben en YAML pero las herramientas piden JSON

YAML se usa ampliamente para archivos de configuración que las personas editan directamente —Kubernetes, docker-compose, flujos de trabajo de GitHub Actions, playbooks de Ansible— gracias a su legibilidad: permite comentarios y las comillas son en su mayoría opcionales. JSON, en cambio, tiene una especificación pequeña y sin ambigüedades, fácil de procesar mecánicamente por los programas, lo que lo ha convertido en el formato estándar para el intercambio de datos de APIs y herramientas de línea de comandos como jq.

La conversión de YAML a JSON tiende un puente sobre esta brecha entre "las personas escriben YAML, las herramientas piden JSON". Los manifiestos de Kubernetes en particular pueden llegar a cientos de líneas, y `grep` por sí solo pronto encuentra sus límites al buscar un valor concreto. Al convertir primero a JSON y consultarlo con jq, puedes extraer exactamente el valor que necesitas con una ruta como `.spec.containers[].image`.

Dicho esto, la especificación completa de YAML (YAML 1.2) es enorme y cubre funciones avanzadas como la reutilización de valores mediante anclas y alias, flujos multidocumento y escalares de bloque para cadenas multilínea. Esta herramienta omite deliberadamente toda esa superficie y se centra en el "subconjunto común" de mapas, secuencias y escalares básicos que aparece en la práctica, manteniendo así una implementación simple sin dependencias externas.