Convertidor de YAML a JSON

Pega YAML (manifiestos de Kubernetes, Docker Compose, configuraciones de CI) y obtén JSON limpio al instante. Los errores muestran la línea exacta con un indicador.

Funciona en tu navegadorSin registroNo se sube nada

JSON de salida

Cómo usar: YAML a JSON

  1. Pega YAML en el cuadro izquierdo o abre un archivo .yaml/.yml.
  2. El JSON aparece a la derecha mientras escribes. Elige 2 espacios, 4 espacios o tabulaciones para la salida.
  3. Marca Ordenar claves para ordenar las claves alfabéticamente. Ayuda al comparar configuraciones.
  4. Si el YAML no es válido, la barra de estado muestra la línea y la columna, y las líneas problemáticas aparecen debajo con un marcador ^.
  5. Copia o descarga el JSON, o pulsa Intercambiar para volver a convertirlo a YAML.

Cómo se traduce YAML a JSON

JSON es un subconjunto de YAML 1.2, así que cada mapping de YAML se convierte en un objeto JSON, cada secuencia en un array y los escalares en cadenas, números, booleanos o null. Las funciones exclusivas de YAML se resuelven durante la conversión:

  • Comentarios (# …): se eliminan, porque JSON no tiene comentarios.
  • Anclas y alias (&base, *base, <<: *base): se expanden en copias completas.
  • Timestamps como 2024-01-02: se convierten en cadenas ISO 8601.
  • Cadenas multilínea (bloques literales | y plegados >): se convierten en cadenas normales con escapes \n.

YAML con varios documentos

Un solo archivo puede contener varios documentos YAML separados por ---, algo habitual en los manifiestos de Kubernetes. JSON no tiene equivalente, así que el conversor devuelve un array JSON con un elemento por documento y lo indica en la barra de estado. Un --- suelto al final se ignora.

Trampas de YAML 1.1 frente a 1.2

Este convertidor sigue YAML 1.2, la especificación actual. Muchas herramientas antiguas (PyYAML, Psych de Ruby, algunas versiones de Kubernetes y Ansible) aún leen YAML 1.1, donde las reglas son distintas:

  • El problema de Noruega: en YAML 1.1, country: no significa false, así que el código de país de Noruega, NO, desaparece. Lo mismo ocurre con yes, on, off, y y n. YAML 1.2 solo trata true y false como booleanos.
  • Números octales: 0755 es octal en 1.1, pero un decimal normal en 1.2, que usa 0o755. Cita los permisos de archivo para ir sobre seguro.
  • Números sexagesimales: en 1.1, 22:30 puede interpretarse como el número 1350. Cita las horas y los mapeos de puertos como "8080:80".

La conversión JSON → YAML cita automáticamente las cadenas ambiguas ('no', 'on', 'y'), así que el YAML generado se lee igual en ambas versiones.

Preguntas frecuentes

¿Se sube mi YAML a algún sitio?
No. El análisis se hace en tu navegador con la librería de código abierto js-yaml. Las configuraciones que contienen secretos o nombres de host internos nunca salen de tu equipo.
¿Por qué mi YAML falla con «bad indentation»?
El anidamiento en YAML se define con espacios, y no se permiten tabulaciones para indentar. Asegúrate de que las claves hermanas estén exactamente alineadas y de que los elementos de lista (-) tengan una indentación coherente bajo su clave padre.
¿Qué pasa con los comentarios de YAML?
Se eliminan. JSON no tiene sintaxis de comentarios, así que no se pueden trasladar. Volver a convertir a YAML no los recupera.
¿Por qué <code>no</code> se quedó como cadena?
Esta herramienta sigue YAML 1.2, donde solo true/false son booleanos. Los parsers antiguos de YAML 1.1 convertirían no, yes, on y off en booleanos (el «problema de Noruega»).
¿Puedo convertir un manifiesto de Kubernetes con varios recursos?
Sí. Cada recurso separado por --- se convierte en un elemento del array JSON de salida, listo para jq o kubectl apply -f -, que también acepta listas JSON.

Herramientas relacionadas