Validador, formateador y conversor YAML ⇄ JSON
Valida YAML con el número de línea exacto de cada error, formatéalo con sangría limpia y convierte YAML a JSON y JSON a YAML, todo en tu navegador.
Abrir la herramienta →La herramienta interactiva se abre en inglés.
Valida YAML y obtén la línea exacta de cualquier error, formatéalo con una sangría limpia de 2 espacios o convierte YAML → JSON y JSON → YAML. Está pensado para la configuración que hace funcionar tu infraestructura: manifiestos de Kubernetes, pipelines de CI/CD y Docker Compose. El validador señala la línea de los errores de sintaxis: sangría inesperada, un tabulador usado para sangrar, una clave duplicada, una comilla sin cerrar o una colección de flujo sin cerrar. El formateo vuelve a emitir YAML canónico con comillas sensatas, para que los valores ambiguos conserven el tipo que querías. Cubre el YAML estándar (mapas, secuencias en bloque y en línea, escalares, comentarios y escalares de bloque | y >); los anchors, aliases, etiquetas explícitas y flujos de varios documentos se señalan en lugar de interpretarse mal en silencio. Todo se ejecuta en tu navegador: nada de lo que pegas se sube y nunca se resuelven etiquetas personalizadas ni referencias externas, así que puedes inspeccionar sin conexión una configuración de origen no fiable. Es una herramienta Pro: con una cuenta gratuita tienes 3 usos de herramientas Pro en total y después necesitas Pro.
- Elige un modo: validar, formatear, YAML → JSON o JSON → YAML.
- Pega tu YAML o JSON y ejecútalo.
- Si hay un error de sintaxis, ve a la línea indicada (tabuladores, sangría, claves duplicadas, comillas o corchetes sin cerrar).
- Copia el resultado formateado o convertido; pon entre comillas los valores que deban seguir siendo cadenas («NO», «007», «1.10»).
Preguntas frecuentes
¿Qué es YAML y en qué se diferencia de JSON?
YAML (YAML Ain’t Markup Language) es un formato de serialización de datos pensado para personas que se usa muchísimo para configuración: manifiestos de Kubernetes, pipelines de CI/CD (GitHub Actions, GitLab CI), Docker Compose, playbooks de Ansible y configuración de aplicaciones. Usa la sangría para mostrar la estructura en lugar de las llaves y corchetes de JSON, admite comentarios (líneas que empiezan por #) y en general es más fácil de leer y editar. En la práctica, JSON es un subconjunto estricto de YAML: todo documento JSON es YAML válido, pero YAML añade comentarios, varios estilos de escalares, escalares de bloque y anchors. JSON es mejor para APIs entre máquinas porque no es ambiguo y no tiene espacios significativos; YAML es mejor para configuración editada a mano. Esta herramienta convierte entre ambos para que puedas llevar una configuración a la carga útil de una API o hacer legible un bloque JSON denso.
¿Por qué mi YAML no se analiza aunque parece correcto?
Los culpables habituales son los espacios en blanco y las sorpresas de tipos. (1) Tabuladores: YAML prohíbe sangrar con tabuladores; un editor que inserta un tabulador produce un archivo que parece alineado pero no se analiza. Usa espacios. (2) Sangría incoherente: todos los elementos del mismo nivel deben compartir la misma sangría y el contenido anidado debe tener más sangría que su padre. (3) Falta un espacio después de los dos puntos: debe ser «key: value», no «key:value». (4) Caracteres especiales sin comillas: un valor que contiene dos puntos seguidos de espacio, empieza por una comilla o empieza por un carácter como @, `, * o & necesita comillas. (5) Claves duplicadas en el mismo mapa. Esta herramienta señala la línea para que no tengas que buscar entre cientos de líneas de un manifiesto.
¿Qué es el «problema de Noruega» y lo evita esta herramienta?
El problema de Noruega es la clásica trampa de YAML en la que el valor sin comillas no se interpreta como el booleano false (y yes/on/off también se convierten en booleanos) en YAML 1.1. Así, una lista de códigos de país escrita como [NO, SE, FR] puede convertir en silencio NO (Noruega) en false. Lo mismo afecta a los números de versión (1.10 se convierte en el decimal 1.1), a los códigos postales y teléfonos con ceros a la izquierda y a horas como 22:22. Esta herramienta sigue el comportamiento moderno del esquema core: solo true y false son booleanos y yes/no/on/off siguen siendo cadenas, así que NO sobrevive como la cadena "NO". Cuando necesites que un valor con aspecto numérico o booleano siga siendo una cadena, ponlo entre comillas ("NO", "007", "1.10"); el formateador también pone comillas automáticamente a esos valores cuando vuelve a emitir YAML.
¿Es seguro pegar aquí un archivo de configuración? ¿Es YAML un riesgo de seguridad?
Sí, es seguro: todo se analiza en tu navegador y no se sube nada, así que puedes inspeccionar con seguridad un archivo YAML de origen no fiable. YAML sí tiene un historial de seguridad real: algunos analizadores (en particular el antiguo yaml.load de PyYAML y YAML.load de Ruby) instanciaban objetos arbitrarios a partir de etiquetas personalizadas como !!python/object o !ruby/object, lo que convertía cargar un archivo de configuración en ejecución remota de código. La recomendación general es usar el cargador seguro (yaml.safe_load, Psych.safe_load), que solo produce datos planos. Esta herramienta es un analizador seguro por diseño: solo entiende construcciones de datos estándar y rechaza explícitamente anchors, aliases, etiquetas personalizadas y referencias externas, así que nunca instanciará nada. Como tanta infraestructura crítica para la seguridad (RBAC de Kubernetes, políticas de admisión, secretos de CI, IaC) vive en YAML, un pequeño error de sangría o de tipo puede convertirse en una configuración incorrecta real, y por eso importa validar antes de publicar.
¿Se pierde algo al convertir YAML a JSON?
Puede perderse, porque YAML expresa algunas cosas que JSON no puede. Los comentarios se eliminan: JSON no tiene sintaxis de comentarios, así que las notas con # desaparecen al convertir. Los anchors y aliases (la forma de YAML de reutilizar un bloque) no forman parte de JSON y aquí no se admiten. Los valores decimales especiales como .inf y .nan no tienen representación en JSON. Los datos normales (mapas, listas, cadenas, números, booleanos y nulos) se convierten sin pérdidas en ambas direcciones, y convertir JSON a YAML siempre funciona porque JSON cabe en el modelo de datos de YAML. Si haces el viaje YAML → JSON → YAML, cuenta con perder los comentarios y el formato, pero conservar los datos.
¿Es gratis?
No, es una herramienta Pro. Con una cuenta gratuita tienes 3 usos de prueba de herramientas Pro en total; después necesitas Pro.