Qué hace el formateador YAML
YAML es el formato de los archivos de Docker Compose, los manifiestos de Kubernetes, los flujos de GitHub Actions, los playbooks de Ansible y la configuración de muchas aplicaciones. Su estructura depende de la sangría, así que un solo espacio mal puesto puede cambiar el significado de un archivo o detener un despliegue. Esta herramienta reescribe tu YAML con una sangría y unos espacios uniformes, y lo revisa con un analizador estricto para que los problemas aparezcan aquí y no en tu pipeline.
Tiene dos acciones:
- Formatear normaliza la sangría, los espacios después de los dos puntos y los guiones, y los espacios dentro de
[ ]y{ }. - Validar analiza el archivo e informa del primer error, o muestra un resumen breve cuando es válido.
Cómo usarlo
- Pega YAML en el cuadro de la izquierda. Se formatea en cuanto lo pegas. También puedes usar Abrir archivo con archivos
.yamly.yml, o Ejemplo para ver una muestra. - Elige una Sangría de 2 o 4 espacios y un Ancho de línea.
- Activa Comillas simples si tu proyecto prefiere
'text'a"text". - Pulsa Formatear o Validar. Ctrl+Intro repite la última acción.
- Pulsa Copiar, o Descargar para guardar un archivo
.yaml.
Antes y después
Un archivo de Docker Compose con espacios irregulares y sangría de 4 espacios:
version: "3.8"
services:
web:
image: "nginx:latest"
ports:
- "80:80"
environment:
- DEBUG=false
db:
image: postgres:16
Después de Formatear con 2 espacios:
version: "3.8"
services:
web:
image: "nginx:latest"
ports:
- "80:80"
environment:
- DEBUG=false
db:
image: postgres:16
Las colecciones en línea reciben espacios uniformes. tags: [ api, v2 ] y limits: {cpu: 1, memory: 512} pasan a:
tags: [api, v2]
limits: { cpu: 1, memory: 512 }
Los comentarios se conservan. Los espacios sobrantes antes de un comentario al final de la línea se ordenan, pero el comentario sigue en su línea:
# Database settings
db:
host: localhost # local only
port: 5432
Con Comillas simples activado, name: "web" pasa a name: 'web'. Una cadena que contiene un apóstrofo, como "it's here", mantiene las comillas dobles para no tener que escaparlo.
Los valores con tildes y ñ, como ciudad: Cádiz o nombre: Muñoz, se dejan tal cual. YAML trabaja con UTF-8, así que no hace falta ponerlos entre comillas.
Errores que detecta el validador
Los analizadores de YAML de distintas herramientas no son igual de estrictos. Este marca problemas que algunas herramientas dejan pasar. Mensajes reales de la herramienta:
| Problema | Mensaje |
|---|---|
| La misma clave dos veces | Línea 3, columna 1: Map keys must be unique |
| Una tabulación usada como sangría | Línea 2, columna 1: Tabs are not allowed as indentation |
| Una línea con un espacio de más en la sangría | Línea 2, columna 9: Nested mappings are not allowed in compact mappings |
La comprobación de claves duplicadas es la más importante. En un archivo como name: web, port: 80, name: api, muchos cargadores se quedan solo con el último name sin avisar. Pulsa Mostrar en la entrada para ir a esa línea.
Para un archivo válido con dos documentos separados por ---, Validar indica: YAML válido. 2 documentos.
Consejos y límites
- El formateador no reordena claves ni cambia valores.
yes,ony010se quedan como los escribiste. - Las cadenas largas no se vuelven a partir. Los bloques plegados (
>) y literales (|) conservan su contenido. - Las anclas y los alias (
&name,*name) se mantienen tal como están escritos. - YAML no tiene una forma minificada de uso común, así que no hay botón Minificar. Si necesitas datos compactos, conviértelos con el convertidor de JSON a YAML en la dirección de YAML a JSON.
Otras formas de formatear YAML
VS Code. La extensión YAML de Red Hat añade formato y comprobación de esquemas para archivos como los manifiestos de Kubernetes. Después de instalarla, ejecuta Dar formato al documento.
yq. La versión en Go de yq (de Mike Farah) lee y reescribe YAML. yq '.' file.yaml muestra el archivo con su propio estilo uniforme, y la misma herramienta puede consultar y editar valores.
Prettier. Si tu proyecto ya usa Prettier, formatea los archivos .yaml y .yml con las mismas reglas que esta página.
yamllint. Una herramienta de Python que revisa el estilo y la sintaxis sin reescribir el archivo, útil en CI.
Herramientas relacionadas
Para pasar de JSON a YAML o al revés, usa el convertidor de JSON a YAML. Para archivos JSON, usa el formateador JSON. Para configuraciones en XML, como los archivos de Maven o de Android, usa el formateador XML.