YAMLYAML
Formateador YAML
Ordena YAML desordenado — y conserva todos los comentarios.
Pega tu YAML aquí o suelta un archivo en la página
YAML aparece aquí mientras escribes
Gratis e ilimitado · Sin registro · Indentación, espaciado y comillas normalizados — cada comentario que escribiste se conserva.
Qué se normaliza
- Sangría: cada nivel se reescribe a dos o cuatro espacios, sea cual sea la mezcla de la entrada, y una secuencia anidada bajo una clave se sangra debajo de esa clave.
- Espaciado: un espacio tras los dos puntos y tras el guion de lista, un espacio antes de un comentario en línea, y las series de líneas en blanco se reducen a una sola.
- Finales de línea y espacios sobrantes: los finales de línea de Windows pasan a LF y se eliminan los espacios al final de cada línea.
- Colecciones en flujo:
[80, 443]se convierte en[ 80, 443 ]; siguen en línea en lugar de expandirse a estilo de bloque. - Números sin comillas en YAML 1.2: se imprimen en forma canónica, así que
022pasa a22,+1a1y1e3a1e+3. En modo YAML 1.1 se conservan los octales con cero inicial como0644. - Escalares plegados (
>): se reajustan a una línea por párrafo, conservando los saltos de párrafo. - Orden de claves: solo si activas Ordenar claves; si no, las claves se quedan donde las pusiste.
Qué se conserva tal cual
- Todos los comentarios: en su propia línea, tras un valor o como bloque entre secciones.
- Las comillas: lo entrecomillado con comillas simples sigue con simples, lo de dobles con dobles y lo que no tenía comillas sigue sin ellas.
- Anclas, alias y claves de fusión:
&defaults,*defaultsy<<:se mantienen, no se expanden. - Escalares literales (
|): línea por línea, incluidos los saltos de línea finales. - El orden de las secuencias, siempre, y el de las claves salvo que ordenes.
- Los separadores de documento (
---) y las directivas%YAMLen archivos multidocumento. - Las líneas largas: no se corta nada, así que una URL o un comando largo siguen en una sola línea.
- Los valores vacíos,
~,nully los booleanos tal como los escribiste:Truesigue siendoTrue.
Por qué la mayoría de formateadores borran tus comentarios
Casi todas las herramientas YAML online funcionan igual: analizan el documento a datos simples y luego vuelven a imprimir esos datos. Los comentarios no son datos, así que nunca sobreviven al viaje. Los archivos de configuración suelen tener más comentarios que configuración, y perderlos es perder el razonamiento detrás de los valores.
Esta página usa un analizador distinto al del resto del sitio — uno que conserva un árbol de sintaxis concreto, de modo que cada comentario permanece unido a la línea que documenta. Por eso el formateador es también algo más estricto con la sintaxis: tiene que entender la forma del documento con precisión suficiente para reconstruirlo fielmente.
Comentarios y estructura sobreviven
La indentación se normaliza al ancho que elijas; los comentarios se quedan donde los pusiste.
Antes
# Production cluster
server:
host: 0.0.0.0
port: 8080 # internal only
features:
- fast
- privateDespués
# Production cluster
server:
host: 0.0.0.0
port: 8080 # internal only
features:
- fast
- privateMás ejemplos de antes y después
Cada ejemplo de esta página se formatea exactamente así en la herramienta de arriba, con la sangría predeterminada de dos espacios.
Anclas, alias y escalares de bloque se conservan tal cual
Un fragmento de Docker Compose con sangría de cuatro espacios. El ancla, la clave de fusión y el bloque literal quedan intactos; solo cambia la sangría.
Antes
x-defaults: &defaults
restart: always
logging: json
services:
web:
<<: *defaults
image: nginx
command: |
sh -c "echo starting"
exec nginxDespués
x-defaults: &defaults
restart: always
logging: json
services:
web:
<<: *defaults
image: nginx
command: |
sh -c "echo starting"
exec nginxClaves ordenadas para diffs revisables
El mismo archivo con Ordenar claves activado. Las claves se ordenan en cada nivel, la secuencia conserva su orden y el comentario se mueve con la clave que describe.
Antes
replicas: 3
name: api
# Ports the service exposes
ports:
- 443
- 80
image: api:1.2Después
image: api:1.2
name: api
# Ports the service exposes
ports:
- 443
- 80
replicas: 3¿Formateador, validador o convertidor?
Los tres usan el mismo motor en tu navegador. Cuál elegir depende de adónde va el archivo después.
Usa el formateador cuando el archivo sigue siendo YAML
Un archivo de Compose, un values de Helm o un pipeline de CI que han editado varias personas. Quieres una sangría coherente y quieres conservar los comentarios que explican los valores. Eso es justo lo que un viaje de ida y vuelta por un convertidor no puede darte.
Usa el validador cuando algo se niega a analizarse
El validador YAML es el mismo motor con el panel de salida centrado en el diagnóstico: cada error trae línea, columna, causa en lenguaje claro y corrección, y se marca cada valor que YAML 1.1 y 1.2 leen de forma distinta.
Usa el convertidor cuando el archivo va a un sitio que habla JSON
Cuerpos de peticiones a una API, fixtures de pruebas, un pipeline con jq. El convertidor de YAML a JSON descarta los comentarios — JSON no tiene sintaxis para ellos — y te dice cuántos descartó, expande las anclas y puede emitir un flujo multidocumento como array o como JSON Lines.
Preguntas frecuentes
¿Este formateador de YAML conserva los comentarios?
Sí. El formateador analiza tu documento con un analizador que conserva un árbol de sintaxis concreto, así que los comentarios en su propia línea, los que siguen a un valor y los bloques de comentarios entre secciones salen donde entraron. Si activas el orden de claves, cada comentario permanece unido a la clave sobre la que está. La mayoría de los formateadores en línea convierten el YAML en datos planos y los vuelven a imprimir, y por eso pierden todos los comentarios; el convertidor a JSON de este sitio hace lo mismo, inevitablemente, y te dice cuántos descartó.
¿Formatear cambia mis datos?
La estructura y el texto no se tocan: las comillas quedan exactamente como las escribiste, las anclas, los alias y las claves de fusión siguen en su sitio, los escalares de bloque conservan su contenido y el orden de las claves se mantiene salvo que pidas ordenarlas. Dos cosas se normalizan. Los números sin comillas se imprimen en forma canónica con YAML 1.2, así que 022 pasa a 22, +1 a 1 y 1e3 a 1e+3; cambia la versión a 1.1 y se conservan los octales con cero inicial como 0644. Los escalares plegados (>) se reajustan conservando los saltos de párrafo. Si un valor debe conservar su escritura exacta, ponlo entre comillas: las advertencias bajo la salida enumeran cada valor sin comillas que YAML 1.1 y 1.2 leen de forma distinta.
¿Qué sangría usa el formateador?
Dos espacios de forma predeterminada, o cuatro si lo eliges. Cada nivel del documento recibe la misma anchura sin importar cómo estuviera sangrada la entrada, y una secuencia anidada bajo una clave se sangra debajo de esa clave. YAML prohíbe los tabuladores como sangría, así que no hay opción de tabulador, y un documento sangrado con tabuladores se reporta como error con su número de línea en lugar de formatearse.
¿Puede ordenar las claves?
Sí. La opción Ordenar claves ordena alfabéticamente las claves de cada mapeo, en todos los niveles de anidamiento, lo que facilita los diffs y la revisión de código en archivos que editan varias personas o herramientas. Las secuencias conservan su orden, porque en una lista el orden significa algo. Los comentarios se mueven con la clave a la que pertenecen. La opción está desactivada por defecto: el orden de las claves no significa nada en YAML, pero a menudo significa mucho para quien lee el archivo.
¿Admite YAML multidocumento?
Sí. Un archivo con varios documentos separados por --- se formatea documento a documento y los separadores se conservan, así que un manifiesto de Kubernetes con un Deployment, un Service y un Ingress sigue siendo un solo archivo. También se conservan un --- inicial y una directiva %YAML, y la línea de estado indica cuántos documentos se formatearon.
¿Por qué el formateador rechaza YAML que el convertidor acepta?
El formateador usa un analizador más estricto que el convertidor, porque necesita entender la forma exacta del documento para reconstruirlo con los comentarios en su sitio. Un documento que el convertidor analiza pero que aquí falla se reporta con la línea, una explicación en lenguaje claro y una corrección sugerida, igual que en el validador YAML. La guía de errores comunes de YAML repasa los seis fallos que hay detrás de casi todos los análisis fallidos.
¿Es lo mismo que yamllint o Prettier?
No, y se complementan bien. yamllint reporta problemas de estilo y sintaxis pero no reescribe el archivo; este formateador reescribe la sangría y el espaciado pero no impone reglas como la longitud de línea. La salida YAML de Prettier se parece mucho a la que obtienes aquí, y si tu proyecto ya lo ejecuta no necesitas esta página: existe para el archivo que tienes ahora mismo en el portapapeles, sin instalar nada y sin subir nada.
¿Se sube mi YAML al formatearlo?
No. El formateador es JavaScript que se ejecuta en la pestaña de tu navegador. La biblioteca yaml se carga con la página y no hay ningún endpoint al que enviar un documento; puedes cargar la página, desconectarte de internet y seguir formateando. Eso importa para los archivos que la gente suele querer ordenar: los manifiestos de Kubernetes, los archivos de Docker Compose y los pipelines de CI contienen nombres de host, registros y algún que otro secreto.
¿Cómo formateo YAML desde la línea de comandos?
yq -i . config.yaml reformatea un archivo en el sitio y conserva los comentarios; quita -i para imprimir el resultado en su lugar. Con Prettier instalado, npx prettier --write "**/*.{yml,yaml}" formatea todos los archivos YAML de un proyecto. En Python, ruamel.yaml en modo round-trip reformatea conservando los comentarios, algo que PyYAML no puede hacer. Para un archivo suelto, pégalo en el formateador de arriba.
Todas las herramientas
YAML a JSON
Convertidor YAML a JSON online: formateado, minificado, privado y con errores en la línea exacta.
AbrirJSON a YAML
Convierte JSON a YAML legible con control de sangría, orden de claves y salida lista para copiar.
AbrirValidador YAML
Valida YAML online y revisa sintaxis, indentación, tabulaciones y claves duplicadas.
Abrir