100 % local: tus datos nunca salen de tu navegador

Validador YAML — la línea donde se detiene

Comprueba que un YAML se parsea: indentación, comillas, anclas, claves repetidas. Cuando se detiene, tienes la línea y sabes dónde mirar.

Instantáneo Privado Cero cookies

Entrada YAML

Salida Result

Qué comprueba esta herramienta

Que el documento se analiza, lo que en YAML abarca más de lo que parece:

  • la indentación es coherente y está hecha de espacios;
  • las comillas están cerradas y los escalares de bloque (|, >) bien indentados;
  • cada alias *nombre tiene un ancla &nombre a la que apuntar;
  • ningún mapa lleva dos veces la misma clave;
  • los separadores --- producen documentos enteros.

Cuando pasa, obtienes la forma de la raíz y el tamaño. Cuando no, el mensaje del analizador con línea y columna, y los analizadores de YAML son particularmente buenos diciendo dónde.

Validador, verificador, parser — y .yml frente a .yaml

Verificador de sintaxis, verificador de formato, parser, tester, validador: cinco nombres para una sola pregunta — ¿este documento se parsea? Es lo que ocurre al pegar.

.yml y .yaml son el mismo lenguaje, no dos variantes. La extensión es una costumbre: el proyecto YAML pide .yaml, mientras que toda una generación de herramientas escribió .yml primero y nunca se movió. Docker Compose lee ambas, GitHub Actions lee ambas, y esta página también: nada dentro del archivo dice con qué grafía llegó.

La tabulación no es indentación

Una tabulación ocupa ocho columnas, o cuatro, o dos, según quién mire. Una indentación hecha de tabulaciones no tiene, por tanto, significado definido, y en YAML la indentación es la estructura. La especificación las prohíbe; esta herramienta también.

Dentro de un escalar entrecomillado una tabulación es solo un carácter y no pasa nada. Solo el margen izquierdo es el problema.

Las claves repetidas son un error

port: 8080
host: example.com
port: 3000

La especificación exige que las claves de un mapa sean únicas. Muchos analizadores lo ignoran y se quedan con la última: así es como un archivo de configuración corre en silencio sobre un valor que olvidaste haber escrito dos veces. Aquí es un error, con la línea de la segunda.

Un flujo de varios documentos es válido

--- separa documentos, y un archivo puede tener tantos como quiera. El informe dice cuántos. Un manifiesto de Kubernetes suele ser un flujo, y un flujo no es un error de sintaxis.

Qué no comprueba

Que el documento signifique algo.

Un archivo puede ser YAML perfecto y un Compose roto: un servicio sin imagen, una clave escrita enviroment, un puerto entrecomillado donde se esperaba un número. Nada de eso es sintaxis, y nada de aquí lo atrapará.

Tampoco decide qué significa una palabra desnuda. yes es la cadena yes para un lector YAML 1.2 y el booleano verdadero para uno 1.1, y ambos leen YAML válido: una diferencia que este validador no puede resolver por ti, porque depende de quién lea el archivo después.

Privado por diseño

Todo se ejecuta localmente en tu navegador con JavaScript. Tus datos nunca se suben a un servidor, lo que hace que la herramienta sea segura para contenido sensible y funcione sin conexión.

Preguntas frecuentes

¿Por qué se rechazan las tabulaciones como indentación?
Porque una tabulación no tiene ancho definido: una indentación hecha de tabulaciones no tiene significado definido, y en YAML la indentación es toda la estructura. La especificación las prohíbe sin más. Una tabulación dentro de un valor entrecomillado no molesta; solo la indentación es el problema, y por eso el mensaje da línea y columna.
¿Por qué una clave repetida es un error y no «gana la última»?
Porque la especificación YAML exige claves únicas, y «gana la última» es la forma en que una configuración ignora en silencio la mitad de lo que escribiste. Si un archivo pone `port: 8080` arriba y `port: 3000` abajo, quieres que te lo digan, no pasar una tarde averiguando cuál está corriendo.
¿Comprueba mi docker-compose o mi archivo de Kubernetes?
No. Comprueba que el YAML se analiza. Un archivo puede ser YAML impecable y un Compose inservible: un servicio sin imagen, una clave mal escrita, un puerto entre comillas donde se esperaba un número. Validar contra un esquema requiere el esquema, y eso es otra herramienta.

Convertidores relacionados