Formatear y validar YAML
Revise un archivo YAML y reescríbalo con sangría limpia; si tiene errores, vea la línea y el motivo
Sus datos se quedan con usted. La conversión ocurre dentro del navegador; no se envía nada a ningún servidor.
¿Le sirvió esta herramienta?
Gracias, su comentario llegó.
Cómo funciona
En YAML un solo espacio mal puesto invalida todo el archivo: docker compose up o un flujo de GitHub Actions se detiene con un mensaje breve como "yaml: line 7". Pegue el contenido del archivo en el cuadro izquierdo. Si el texto no es válido, la herramienta indica la línea del primer error y el motivo con palabras sencillas: un tabulador en la sangría, una clave escrita dos veces en el mismo bloque, una comilla o un corchete sin cerrar, o líneas del mismo nivel que empiezan con distinta cantidad de espacios. Si el texto es válido, se reescribe a la derecha con sangría uniforme: en el ejemplo, la línea image desplazada 8 espacios vuelve a 4, los elementos de lista (- "8080:80") quedan dos espacios adentro de su clave y se limpian los espacios de más. Los comentarios con #, el orden de las claves y los documentos separados por --- se mantienen. La línea de resultado indica cuántos documentos y líneas hay.
Esta herramienta también se busca como formatear yaml, validar yaml, validar yaml online, yaml formatter, yaml validator, validar docker compose yaml.
¿Qué es YAML?
YAML (YAML Ain't Markup Language) es un formato de datos pensado para archivos de configuración que las personas pueden leer y escribir. En lugar de llaves y comillas usa sangría: las líneas clave: valor y los elementos de lista que empiezan con - se anidan según cuántos espacios llevan. La configuración de docker-compose, GitHub Actions, Kubernetes, Ansible y Home Assistant se escribe en YAML. A diferencia de JSON, admite comentarios (#).
¿Qué es Sangría?
En YAML, la sangría es la cantidad de espacios al inicio de una línea, y es estructura, no adorno: las líneas debajo de una clave que empiezan con más espacios forman parte de ella. Las líneas del mismo nivel deben empezar con la misma cantidad de espacios. Cuántos use es libre (2 es lo más común), pero el carácter de tabulación nunca se acepta como sangría.
¿Cuál es la diferencia entre YAML y JSON?
Los dos llevan los mismos tipos de datos (claves y valores, listas, números, texto), y todo documento JSON también es YAML válido. La diferencia está en la escritura: JSON arma la estructura con llaves y corchetes, YAML con sangría. YAML admite comentarios y texto sin comillas, por eso se prefiere en archivos de configuración que se editan a mano. JSON es más estricto y se usa para intercambiar datos entre programas y en API. Para pasar de uno a otro, use la herramienta de JSON a YAML.
Los errores de YAML más comunes y qué significan
YAML lee la sangría como significado: la cantidad de espacios al inicio de una línea decide a qué clave pertenece. Por eso está prohibido el carácter de tabulación que inserta la tecla Tab; parece espacio, pero YAML lo rechaza. Si dos líneas del mismo nivel empiezan con 2 y 3 espacios, el archivo falla o queda con una estructura distinta de la esperada.
El segundo error frecuente es la clave repetida: escribir ports: dos veces en el mismo bloque. Algunos programas lo aceptan sin avisar y usan la segunda, y su primera configuración se pierde; esta herramienta sigue la regla de YAML 1.2, da un error y muestra la línea. El tercero es olvidar el espacio después de los dos puntos: image:nginx no es una clave con valor, sino un solo texto.
- "no se puede usar tabulador" → cambie el tabulador del inicio de la línea por espacios
- "la clave aparece por segunda vez" → borre o una una de las dos líneas
- "comilla sin cerrar" → cuente las " o ' de esa línea
¿Qué cambia al reescribir y qué se conserva?
La herramienta lee el archivo y escribe los mismos datos: la sangría queda uniforme, los elementos de lista pasan un nivel adentro de su clave y los espacios de más antes de los comentarios se reducen a uno. Se conservan claves, valores, comentarios y el orden; un texto entre comillas como "false" mantiene las comillas, porque quitarlas lo convertiría en un valor lógico.
El orden alfabético es opcional y ordena cada bloque por separado; un comentario encima de una clave se mueve con ella. En archivos de docker-compose o Kubernetes el orden no tiene efecto técnico, pero hay un orden de lectura habitual (image primero, ports después); por eso se conserva el orden por defecto.
Preguntas frecuentes
¿Cómo sé si mi archivo YAML es válido?
Pegue el contenido en el cuadro izquierdo de esta página. Si es válido, la línea de resultado dice "YAML válido" y el archivo aparece a la derecha con sangría limpia. Si no lo es, verá el número de línea y el motivo del primer error.
¿Se borran mis comentarios?
No. Las líneas de comentario que empiezan con # y los comentarios al final de una línea se quedan en su lugar. Convertir a JSON borraría los comentarios; esta herramienta escribe YAML como YAML y los conserva.
¿Sirve para docker-compose.yml y archivos de GitHub Actions?
Sí. La herramienta revisa las reglas generales de YAML, y los archivos de docker-compose, GitHub Actions, Kubernetes, Ansible y Home Assistant son todos YAML. No revisa si una clave es válida para ese programa en particular, como una opción de docker mal escrita.
¿Mi archivo se envía a un servidor?
No. La validación y el formato se hacen por completo en su navegador; el texto que pega no sale de esta página, aunque sea un archivo de configuración con contraseñas o claves.