Formateador de YAML
Da formato a YAML con una sangría uniforme, o conviértelo a JSON. Detecta tabulaciones mezcladas e inconsistencias en la sangría.
Qué es un formateador de YAML
Un formateador de YAML toma un documento con sangría irregular y lo reescribe con una sangría uniforme de 2 o 4 espacios, validando la sintaxis en el proceso. Los archivos de configuración tienden a acumular sangrías inconsistentes tras sucesivas copias, pegados y ediciones manuales, y muchas veces el primer aviso del problema llega mucho después, en forma de un error críptico de tu pipeline de CI/CD o de tu herramienta de gestión de configuración. Como esta herramienta funciona por completo en tu navegador, puedes revisar archivos de configuración sensibles sin enviar su contenido a ningún servidor externo.
Esta herramienta se apoya en un analizador ligero desarrollado a medida, centrado en el "subconjunto común" que se usa habitualmente en Docker Compose, GitHub Actions y manifiestos de Kubernetes: mapeos, listas, colecciones en línea y tipos escalares básicos. No admite funciones avanzadas como anclas (&), alias (*), múltiples documentos o escalares de bloque (|/>), así que si trabajas con YAML que depende de esas características, conviene combinar esta herramienta con un analizador de especificación completa.
Cómo usar el formateador de YAML
- Pega tu YAML Pega el YAML que quieres formatear en el cuadro de entrada de la izquierda. Si no tienes un ejemplo a mano, pulsa el botón "Ejemplo" para insertar un YAML con el que probar la herramienta.
- Elige un modo Selecciona "Formatear y validar" para comprobar la sintaxis y normalizar la sangría, o "Convertir a JSON" para transformar el contenido YAML en JSON.
- Elige el ancho de sangría Solo en el modo "Formatear y validar" puedes elegir 2 o 4 espacios para la salida, según la convención que ya siga tu proyecto.
- Revisa el resultado Si el YAML es válido, el resultado formateado (o el JSON convertido) aparece a la derecha. Si no lo es, se muestra un mensaje de error con el número de línea para que puedas ir directamente al problema.
- Copia el resultado Pulsa "Copiar" para copiar la salida al portapapeles y pegarla directamente de vuelta en tu archivo de configuración.
Consejos para aprovecharla mejor
- Esta herramienta usa un analizador ligero propio, compatible con pares clave: valor, anidamiento, listas y la sintaxis en línea
[a, b, c]/{a: 1}. - Aunque pegues YAML con sangría inconsistente (por ejemplo, 3 o 5 espacios), se volverá a generar con una sangría uniforme de 2 o 4 espacios siempre que se analice correctamente.
- En el modo "Convertir a JSON" puedes previsualizar tu YAML convertido directamente a JSON, útil para compararlo con configuraciones de CI o respuestas de API.
- Si aparece un error, se muestra el número de línea, así que revisa esa línea por problemas de sangría o un espacio faltante después de los dos puntos.
- YAML prohíbe la sangría con tabulaciones. Activar "convertir tabulaciones a espacios" en tu editor te ayuda a evitar por completo este problema.
Cuándo usar esta herramienta
Revisión previa de configuraciones de CI
Pasa tus archivos .yml de GitHub Actions o GitLab CI por esta herramienta antes de hacer commit, para detectar sangrías rotas o tabulaciones perdidas antes de que el pipeline falle por un error de sintaxis.
Limpieza de manifiestos de Kubernetes
Los manifiestos de Deployment y Service editados por varias personas suelen acabar con sangrías inconsistentes. Normalízalos según la convención de tu equipo (por ejemplo, 2 espacios) antes de enviarlos a revisión.
Validación de archivos Docker Compose
Los errores de sangría en docker-compose.yml suelen pasar desapercibidos hasta que el contenedor falla al iniciarse. Comprobar aquí antes la sintaxis y la coherencia de la sangría te da tranquilidad.
Comparar YAML y JSON en paralelo
Cuando necesitas trabajar con la misma configuración o datos de API tanto en YAML como en JSON, el modo "Convertir a JSON" te permite ver el resultado y usarlo después con otras herramientas basadas en JSON o validadores de esquema.
Glosario
- YAML
- Acrónimo recursivo de "YAML Ain't Markup Language", un formato de serialización de datos que expresa la estructura jerárquica mediante sangría. Se usa mucho en archivos de configuración.
- Sangría
- El espacio en blanco al inicio de una línea, que YAML usa para expresar relaciones de padre e hijo. Según la especificación, nunca puede usarse una tabulación para la sangría.
- Mapeo
- Una estructura que representa datos como pares "clave: valor", equivalente a un array asociativo u objeto en otros lenguajes.
- Lista (secuencia)
- Una estructura que enumera valores en orden, donde cada elemento comienza con un guion y un espacio ("- ").
- Estilo de flujo
- Una forma de escribir mapeos y listas en línea, como
{a: 1}o[a, b, c], sin depender de la sangría. - Anclas y alias
- Un mecanismo donde el contenido definido con
&nombrepuede reutilizarse en otro lugar con*nombre, evitando repetir valores. Esta herramienta no lo admite. - Escalar de bloque
- Una forma de escribir cadenas de varias líneas usando
|(que conserva los saltos de línea) o>(que los convierte en espacios). Esta herramienta no lo admite. - Problema de Noruega
- Una trampa muy conocida de YAML en la que valores sin comillas como
nooyesse interpretan como booleanos en lugar de cadenas de texto normales.
Preguntas frecuentes
|/>).no, yes, on u off sin comillas se interpreta como booleano en muchas implementaciones de YAML, en lugar de como una cadena de texto normal (como el código de país de Noruega). Si quieres que se trate como cadena, enciérralo entre comillas, por ejemplo "no".
Curiosidad — Por qué YAML se convirtió en el formato de configuración de referencia
YAML (YAML Ain't Markup Language) es un formato de serialización de datos que apareció en 2001. Como no requiere etiquetas de cierre y se ve mucho más simple que XML, se ha convertido en la opción estándar para archivos de configuración de infraestructura desde la década de 2010: Docker Compose, GitHub Actions y los manifiestos de Kubernetes lo utilizan.
Dicho esto, el diseño de YAML de "estructura mediante sangría" es fácil de leer para las personas, pero también frágil: la sangría se rompe fácilmente al copiar y pegar. En particular, mezclar tabulaciones y espacios puede hacer que muchos analizadores produzcan silenciosamente una estructura incorrecta sin generar ningún error, lo que lo convierte en una fuente frecuente de errores de configuración no intencionados.
También existe una trampa muy conocida llamada el "problema de Noruega". Escribir el código de país no sin comillas se interpreta como el booleano false en muchas implementaciones de YAML. Las diferencias entre YAML 1.1 y 1.2 sobre qué cadenas cuentan como booleanos también son una fuente frecuente de problemas de compatibilidad entre implementaciones.