Inicio › Herramientas para desarrolladores › Validador y formateador de YAML

Validador y formateador de YAML

Pega YAML para comprobarlo al instante: los errores se muestran con su línea y columna y se resalta la línea con el fallo. Luego formatéalo, minifícalo, ordena las claves o conviértelo a JSON. Todo se ejecuta en tu navegador.

Última actualización:

Cargando el motor de YAML…

El formateo reescribe los datos, así que los comentarios no se conservan en el resultado. La validación nunca cambia tu entrada.

Publicidad
Publicidad

Cómo usar Validador y formateador de YAML

  1. Pega YAML en el editor o pulsa Subir para abrir un archivo .yaml, .yml o .json.
  2. Lee la barra de estado: indica YAML válido o muestra la línea y la columna del primer error, con la línea resaltada en rojo.
  3. Pulsa Formatear YAML para formatearlo con tu sangría y, opcionalmente, con las claves ordenadas, o Minificar para un estilo flow compacto.
  4. Convierte con YAML → JSON, o pega JSON y pulsa JSON → YAML.
  5. Copia o descarga el resultado desde el cuadro de la derecha.

Los errores de YAML más comunes y cómo solucionarlos

Mensaje de errorCausa típicaSolución
bad indentation of a mapping entryUna clave tiene una sangría con un número de espacios distinto al de sus claves hermanasAlinea las claves del mismo nivel exactamente en la misma columna
end of the stream or a document separator is expectedTexto después de un valor en el mismo nivel; a menudo falta un signo de dos puntos o sobra un espacio antes de una claveRevisa si falta un : en la línea anterior a la indicada
duplicated mapping keyLa misma clave aparece dos veces en un mapeo; la mayoría de los analizadores se quedan sin avisar solo con la últimaElimina o cambia el nombre de una de las claves
tab characters must not be used in indentationEl archivo se sangró con tabulacionesSustituye las tabulaciones por espacios (lo habitual son 2 por nivel)
unexpected end of the stream within a double quoted scalarUna comilla de apertura sin comilla de cierreCierra la comilla o escapa las comillas internas
incomplete explicit mapping pair; a key node is missedUn valor que empieza por ?, :, {, [, &, *, !, |, >, @ o % sin comillasPon el valor entre comillas, por ejemplo pattern: "*.log"

Chuleta de sintaxis YAML

ElementoYAMLEquivalente en JSON
Mapeoname: app{"name": "app"}
Secuencia- a
- b
["a", "b"]
Estilo flow{a: 1, b: [x, y]}{"a": 1, "b": ["x", "y"]}
Bloque literal (conserva los saltos de línea)script: |
  line 1
  line 2
"line 1\nline 2\n"
Bloque plegado (une las líneas)text: >
  one
  two
"one two\n"
Ancla y aliasbase: &b {x: 1}
copy: *b
El valor con alias se repite
Nulo~, null o un valor vacíonull
Comentario# noteNo se admite en JSON
Varios documentos--- entre documentosUn array de documentos

Consejos para archivos de configuración

  • Pon entre comillas los valores ambiguos. Los números de versión como 1.10 se convierten en el número 1.1, y las horas como 22:30 pueden leerse como números en los analizadores de YAML 1.1. Escribe "1.10" y "22:30".
  • Mantén una sangría coherente. Elige 2 espacios por nivel y configura tu editor para que inserte espacios al pulsar Tab.
  • Vigila los elementos de lista bajo una clave. En Kubernetes, Docker Compose y GitHub Actions son válidos tanto key: seguido de - item en la misma columna como con una sangría de dos espacios, pero mezclar los dos estilos en un archivo facilita los errores.
  • Valida antes de desplegar. Una comprobación de sintaxis aquí detecta los errores estructurales; después, herramientas como kubectl apply --dry-run=client o docker compose config comprueban el contenido con su propio esquema.

Preguntas frecuentes

¿Qué comprueba el validador?

Analiza el texto con js-yaml, un analizador de YAML 1.2, e informa de errores de sintaxis como sangría incorrecta, tabulaciones usadas para sangrar, comillas o corchetes sin cerrar, claves duplicadas en un mapeo y anclas o alias no válidos. Comprueba que el YAML esté bien formado; no lo valida contra un esquema como una especificación de Kubernetes o GitHub Actions.

¿Por qué desaparecen mis comentarios al formatear?

El formateo funciona leyendo el YAML como datos y escribiéndolo de nuevo, y los comentarios no forman parte de los datos. Usa la salida formateada cuando quieras un archivo limpio y normalizado, y conserva el original si los comentarios importan. La validación nunca cambia tu texto.

¿Puedo usar tabulaciones en YAML?

No. La especificación de YAML prohíbe los caracteres de tabulación para la sangría; usa espacios. Las tabulaciones dentro de cadenas entre comillas o después de un valor no dan problema. El validador señala la línea exacta cuando se usa una tabulación para sangrar.

¿Cómo valido un archivo con varios documentos?

Separa los documentos con una línea que contenga tres guiones (---), como en los manifiestos de Kubernetes. El validador lee todos los documentos, la barra de estado muestra cuántos encontró y YAML → JSON los devuelve como un array JSON.

¿Cuál es la diferencia entre YAML y JSON?

En la práctica, JSON es un subconjunto estricto de YAML 1.2, así que la mayoría de los archivos JSON también son YAML válido. YAML añade comentarios, estructura basada en la sangría, anclas y alias para reutilizar, cadenas de varias líneas y varios documentos por archivo, por eso es tan popular para la configuración.

¿Por qué 'no' u 'on' se convirtieron en true o false?

Los analizadores antiguos de YAML 1.1 trataban yes, no, on y off como booleanos (el 'problema de Noruega', en el que el código de país NO se convierte en false). js-yaml sigue YAML 1.2, donde solo true y false son booleanos, pero otras herramientas pueden comportarse distinto, así que pon esos valores entre comillas para ir sobre seguro.

¿Se sube mi YAML?

No. El análisis se hace en tu navegador. La biblioteca js-yaml se descarga una vez desde una CDN pública y tus datos se quedan en tu dispositivo.

¿Se prueban todas las herramientas de FreeToolCabin para comprobar su calidad y precisión?

Sí. Cada herramienta del sitio pasa pruebas automáticas en navegadores reales para comprobar que el resultado es correcto y que no hay errores. Si encuentras un fallo o tienes una sugerencia, escríbenos a [email protected] y lo revisaremos.

Herramientas relacionadas

Ver todas las de Formateadores y validadores de código →