Glyph WidgetsGlyph Widgets
HerramientasAcerca deContactoBlogPrivacidadTérminosEliminar anunciosApoyar en Ko-fi

© 2026 Glyph Widgets LLC. Todos los derechos reservados.

·

100% Procesamiento del lado del cliente

Volver al Blog

YAML Formatter: Validar y formatear YAML

YAML formatter formatea, valida y convierte YAML a JSON en tu navegador. Indentación configurable, soporte de descarga.

Glyph Widgets
27 de febrero de 2026
11 min de lectura
yaml formatteryaml validatoryaml beautifierformatear yaml onlineyaml pretty print

¿Qué es YAML Formatter?

YAML Formatter es una herramienta basada en el navegador que parsea, valida y re-serializa texto YAML con indentación consistente y configurable. La sintaxis sensible a la indentación de YAML significa que un solo bloque mal alineado puede cambiar el significado de un documento completo o producir un error difícil de localizar visualmente. Esta herramienta detecta esos problemas de inmediato y produce una salida limpia que coincide con tu estilo preferido.

Más allá del formateo básico, la herramienta convierte YAML directamente a JSON — útil cuando una API o herramienta requiere JSON pero tu configuración fuente está en YAML, o cuando necesitas verificar que tu YAML parsea a la estructura de datos esperada. Ambas operaciones se ejecutan completamente en tu navegador usando la biblioteca js-yaml. Ningún dato sale de tu máquina, no hay cuenta requerida, y la herramienta es gratuita.

Funciones principales

  • Formatear YAML con indentación correcta — Parsea la entrada con js-yaml y la re-serializa con el tamaño de indentación elegido. La opción lineWidth: -1 evita que el formatter introduzca saltos de línea en cadenas largas, y noRefs: true expande anclas y alias en sus valores completos.
  • Validar sintaxis YAML con mensajes de error — Si js-yaml lanza un error de parseo, el mensaje de error exacto (incluido el número de línea) aparece debajo del panel de salida. Los errores usan un atributo accesible role="alert".
  • Convertir YAML a JSON — Parsea el YAML y serializa el resultado como JSON usando JSON.stringify con tu indentación seleccionada. La lógica de descarga detecta si la salida comienza con { o [ y guarda el archivo con extensión .json automáticamente.
  • Copiar la salida formateada al portapapeles — Usa la Clipboard API con un fallback de textarea.
  • Descargar como archivo .yaml o .json — Cuando la salida es JSON (de la operación de conversión), el archivo se guarda como formatted.json. Cuando la salida es YAML (de la operación de formato), se guarda como formatted.yaml.
  • Atajos de teclado — Ctrl+Enter (Cmd+Enter) formatea; Ctrl+Shift+J (Cmd+Shift+J) convierte a JSON.

Cómo usar YAML Formatter

Paso 1: Pegar tu YAML

Navega a la herramienta en /developer/code/yaml-formatter. Pega tu YAML en el panel de entrada izquierdo. El textarea es monoespaciado y redimensionable. Se aceptan documentos YAML de cualquier tamaño que quepan en la memoria del navegador — la herramienta no impone ninguna restricción de tamaño.

Paso 2: Elegir la indentación

Abre el menú desplegable de indentación en la barra de acciones debajo de los paneles. Elige 2 espacios o 4 espacios. La selección afecta tanto a la salida de Format como a la salida de conversión a JSON. La indentación de dos espacios es el estándar de la comunidad YAML y es usada por los manifiestos de Kubernetes, los playbooks de Ansible y la mayoría de los archivos de pipeline CI/CD. La indentación de cuatro espacios se alinea con algunas convenciones de proyectos Python y Java.

Paso 3: Formatear o convertir

Haz clic en Format (o presiona Ctrl+Enter / Cmd+Enter) para producir una salida YAML normalizada en el panel derecho. Haz clic en To JSON (o presiona Ctrl+Shift+J / Cmd+Shift+J) para producir un documento JSON equivalente.

Entrada de ejemplo — un manifiesto Kubernetes Deployment con indentación inconsistente:

apiVersion: apps/v1
kind: Deployment
metadata:
    name: web-frontend
    labels:
      app: web
spec:
  replicas: 3
  selector:
      matchLabels:
        app: web
  template:
      metadata:
        labels:
          app: web
      spec:
        containers:
        - name: nginx
          image: nginx:1.25
          ports:
          - containerPort: 80

Salida después de Format con indentación de 2 espacios:

apiVersion: apps/v1
kind: Deployment
metadata:
  name: web-frontend
  labels:
    app: web
spec:
  replicas: 3
  selector:
    matchLabels:
      app: web
  template:
    metadata:
      labels:
        app: web
    spec:
      containers:
        - name: nginx
          image: nginx:1.25
          ports:
            - containerPort: 80

Paso 4: Convertir a JSON (opcional)

Con el mismo YAML en la entrada, haz clic en To JSON. El panel de salida muestra el documento JSON equivalente:

{
  "apiVersion": "apps/v1",
  "kind": "Deployment",
  "metadata": {
    "name": "web-frontend",
    "labels": {
      "app": "web"
    }
  }
}

(Truncado por brevedad — el documento completo incluiría spec)

Paso 5: Copiar o descargar

Haz clic en Copy para copiar la salida a tu portapapeles. Haz clic en Download para guardar el archivo. La herramienta elige automáticamente .yaml o .json como extensión del archivo según si la salida parece JSON (comienza con { o [).

Ejemplos prácticos

Normalizar un archivo de pipeline CI/CD

Un archivo de workflow de GitHub Actions ha sido editado por varios colaboradores y tiene indentación mixta. Pégalo en el formatter, haz clic en Format con indentación de 2 espacios, y la salida muestra una indentación consistente en todo el documento. Antes de hacer commit del cambio, compara la entrada y la salida para confirmar que no se introdujeron diferencias semánticas — dado que YAML es sensible a la indentación, el reformateo puede exponer bugs de alineación que estaban ocultos en el original.

Verificar la estructura de configuración

Mantienes un archivo de configuración para una aplicación Node.js que se despliega con YAML pero el runtime lo lee como un objeto JavaScript parseado. Pega la configuración y haz clic en To JSON. La salida JSON muestra exactamente cómo se ve el objeto parseado, incluidas las conversiones de tipo (bare true/false → booleanos, números sin comillas → números). Esto confirma que valores como port: 8080 serán un número y no el string "8080".

Entrada:

server:
  host: 0.0.0.0
  port: 8080
  debug: false
database:
  url: postgres://localhost:5432/myapp
  pool: 10

Salida JSON:

{
  "server": {
    "host": "0.0.0.0",
    "port": 8080,
    "debug": false
  },
  "database": {
    "url": "postgres://localhost:5432/myapp",
    "pool": 10
  }
}

Expandir anclas YAML

YAML admite anclas (&) y alias (*) para reutilizar valores. El formatter usa noRefs: true, lo que significa que todos los alias se expanden en sus valores completos en la salida. Esto hace que el documento formateado sea autónomo y más fácil de leer en herramientas que no admiten anclas.

Consejos y mejores prácticas

El formatter preserva el orden de las claves. Las opciones de dump de js-yaml incluyen sortKeys: false, por lo que el orden de tus claves se mantiene tal como está en la salida formateada. Esto es importante para los documentos de Kubernetes y Ansible donde el orden de los campos lleva convención aunque no sea técnicamente requerido.

Las cadenas largas no se envuelven. La configuración lineWidth: -1 desactiva el ajuste automático de líneas. Las cadenas multilínea y los valores largos permanecerán en una sola línea en lugar de cortarse en una columna arbitraria. Si necesitas salida con ajuste de línea, copia el resultado y aplica el ajuste en tu editor.

Valida antes de hacer commit al control de versiones. Los errores de indentación YAML son una causa común de fallos de CI. Ejecuta tu archivo de pipeline a través de este formatter antes de hacer push. Un paso de formato limpio sin mensaje de error confirma que el YAML es sintácticamente válido.

Verifica la extensión del archivo al descargar. La lógica de descarga inspecciona el contenido de la salida, no la operación que realizaste. Si formateaste YAML y el YAML resulta comenzar con { (algunos archivos YAML usan sintaxis compatible con JSON), el archivo se guarda como .json. Renómbralo si es necesario.

Los booleanos YAML son estrictos. La especificación YAML reconoce true, false, yes, no, on y off como valores booleanos en YAML 1.1. La biblioteca js-yaml sigue YAML 1.2 por defecto, donde solo true y false son booleanos. Si tu YAML usa yes/no, el formatter los trata como cadenas simples.

Problemas comunes y solución de problemas

Mensaje de error con número de línea y columna — Los errores de parseo de js-yaml incluyen la ubicación exacta del problema. Mira la línea indicada en tu entrada. Las causas comunes son: tabs usados para la indentación en lugar de espacios (YAML no permite tabs), dos puntos dentro de una cadena sin comillas (por ejemplo, url: http://example.com debe ser url: "http://example.com" o usar un escalar de bloque), o un nivel de anidamiento incorrecto.

La salida no contiene valores que estaban en la entrada — Si tu YAML usa etiquetas de tipo !! (p.ej., !!binary, !!timestamp) que js-yaml no reconoce, esos valores pueden eliminarse o transformarse. Inspecciona los valores específicos para identificar la etiqueta de tipo y entrecomilla el valor si es necesario.

Error "Please enter YAML to format" — El campo de entrada está vacío o contiene solo espacios en blanco cuando hiciste clic en Format o Convertir. Pega tu YAML en el panel de entrada primero.

El JSON convertido tiene valores null inesperados — Un valor YAML de ~ o un valor vacío (clave sin valor después de los dos puntos) se convierte en null en JSON. Este es el comportamiento correcto y coincide con la especificación YAML. Entrecomilla el valor si pretendías que fuera el string "~" o un string vacío "".

La descarga se guarda como .json en lugar de .yaml — El manejador de descarga comprueba si la salida comienza con { o [. Algunos documentos YAML están escritos en sintaxis YAML compatible con JSON y comienzan con una llave. Si este es el caso con tu salida, renombra el archivo descargado a .yaml después de guardarlo.

Privacidad y seguridad

YAML Formatter procesa toda la entrada localmente en tu navegador usando la biblioteca js-yaml. Ningún texto que pegues — incluyendo cadenas de conexión de bases de datos, tokens de API, claves privadas o datos de configuración personal — se envía a ningún servidor. La herramienta funciona sin conexión de red una vez que la página ha cargado. No hay seguimiento de sesión en las operaciones de formateo.

Preguntas frecuentes

¿Es gratuito YAML Formatter? Sí, completamente gratuito sin límites de uso. Todas las operaciones de formateo, validación y conversión están disponibles sin coste. Las funciones de colaboradores de Glyph Widgets — presets guardados, historial de sesión, notas de herramientas — están disponibles para los seguidores de Ko-fi, pero la funcionalidad YAML principal no requiere nada.

¿Funciona offline? Sí. Todo el procesamiento se ejecuta en tu navegador. Una vez que la página carga, puedes desconectarte de internet y seguir usando el formatter y el convertidor sin interrupción.

¿Están seguros mis datos? Sí. Tu entrada YAML nunca se transmite a un servidor. Solo existe en la memoria de tu navegador y se borra cuando haces clic en Limpiar o cierras la pestaña.

¿Admite el formatter archivos YAML multi-documento (múltiples secciones ---)? La función load de js-yaml parsea el primer documento en un stream. Los archivos YAML multi-documento (separados por ---) solo tendrán su primer documento formateado. Usa el comportamiento de yaml.loadAll para archivos multi-documento — pero esta herramienta actualmente solo procesa el primer documento.

¿Cuál es la diferencia entre Format y To JSON? Format re-serializa el YAML parseado de vuelta como YAML con indentación consistente. To JSON serializa los mismos datos parseados como un documento JSON. Ambas operaciones usan el mismo paso de parseo, por lo que ambas validan el YAML y fallan de forma idéntica con entrada no válida.

¿El formatter preserva los comentarios? No. El parser js-yaml descarta los comentarios durante el parseo. Después del formateo, los comentarios en la entrada original no aparecerán en la salida. Si necesitas preservar los comentarios, edita la indentación manualmente en tu archivo fuente.

¿Puedo convertir JSON a YAML? Esta herramienta convierte YAML a JSON. Para convertir en la dirección inversa, usa la herramienta Próximamente: JSON Converter, que admite la conversión de JSON a YAML.

¿Qué versión de YAML admite la herramienta? La biblioteca js-yaml implementa YAML 1.2, que es más estricta con los valores booleanos y algunos otros casos extremos en comparación con YAML 1.1. La mayoría de los archivos YAML modernos (Kubernetes, Docker Compose, GitHub Actions, etc.) están escritos para ser compatibles con YAML 1.2.

¿Cuál es el atajo de teclado para convertir a JSON? Presiona Ctrl+Shift+J en Windows/Linux o Cmd+Shift+J en macOS para activar la operación de Convertir a JSON. Presiona Ctrl+Enter o Cmd+Enter para Formatear.

¿Refleja la extensión del archivo al descargar la operación que realicé? No directamente — el manejador de descarga comprueba si el texto de salida comienza con { o [ para decidir entre .json y .yaml. La salida YAML formateada que comienza con un mapeo se guardará como .yaml, y la salida convertida a JSON (que siempre comienza con { o [) se guardará como .json.

Herramientas relacionadas

JSON Formatter — Formatear, validar y minificar JSON con validación de esquema, generación de esquema y visor de árbol interactivo.

XML Formatter — Formatear y validar documentos XML con los mismos controles de indentación y soporte de minificación.

Próximamente: TOML Formatter — Formatear y validar archivos de configuración TOML.

Prueba YAML Formatter ahora: YAML Formatter

Última actualización: 27 de febrero de 2026

Seguir Leyendo

Más ArtículosProbar YAML Formatter