Conversor YAML ↔ TOML 🔒 Tus datos nunca salen de tu navegador.

Convierte archivos de configuración entre YAML y TOML.

Ctrl+SDescargar

Sobre esta herramienta

YAML y TOML describen la misma idea de configuración estructurada, solo que con sintaxis y usos distintos. YAML domina los manifiestos de Kubernetes, los archivos Docker Compose y los pipelines de CI (GitHub Actions, GitLab CI); TOML es el formato preferido para el Cargo.toml de Rust y el pyproject.toml de Python. Trasladar ajustes de un servicio Compose a un proyecto Cargo — o al revés — suele significar reescribirlo todo a mano. Este conversor de YAML a TOML online (y de TOML a YAML, en sentido inverso) traduce en ambos sentidos al instante, conservando tablas anidadas, arrays y tipos de datos.

Impulsado por js-yaml y smol-toml, ambos cargados solo en esta página. Tus archivos de configuración nunca salen del navegador — seguro incluso para archivos que mencionan hosts internos, puertos o nombres de entorno.

Preguntas frecuentes

¿Para qué se usa YAML y para qué se usa TOML?

YAML es lo habitual en manifiestos de Kubernetes, archivos Docker Compose y pipelines de CI (GitHub Actions, GitLab CI): maneja bien el anidamiento profundo. TOML es el formato que usan el Cargo.toml de Rust y el pyproject.toml de Python: se lee más como un .ini y es popular donde importa una config plana y editable a mano. Necesitarás convertir entre ambos al trasladar ajustes de un proyecto en contenedores a uno en Rust o Python, o al revés.

¿Mis comentarios sobreviven al convertir entre YAML y TOML?

No, y esta es una trampa común. Tanto YAML como TOML descartan los comentarios al leer el documento; solo sobreviven los datos. Esta herramienta analiza tu entrada como un objeto en memoria y la vuelve a serializar desde cero, así que cualquier comentario `#` en cualquiera de los dos formatos se pierde en la salida. Si un comentario documenta algo importante, cópialo a mano después.

¿La sintaxis de array de tablas ([[section]]) se convierte correctamente en ambos sentidos?

Sí. El `[[section]]` de TOML es simplemente un array cuyos elementos resultan ser tablas (objetos). Al convertir TOML → YAML, se vuelve una secuencia YAML normal de mapeos; convertir esa secuencia de nuevo a TOML reproduce los bloques `[[section]]`, porque smol-toml reconoce "un array donde cada elemento es un objeto simple" y genera automáticamente la sintaxis de array de tablas.

¿Mis datos YAML o TOML se suben a algún sitio?

No. La conversión se ejecuta enteramente en tu navegador usando las librerías JavaScript js-yaml y smol-toml: nada de lo que escribas o pegues aquí se envía nunca a un servidor. Esto lo hace seguro incluso para archivos de configuración que mencionan hosts internos, marcadores de credenciales u otros detalles específicos del entorno.

¿Cómo convierto los ajustes de mi docker-compose.yml en una config TOML para un proyecto Rust o Python?

Cambia a la pestaña 'YAML → TOML', pega la sección relevante de tu docker-compose.yml (por ejemplo, solo el bloque `environment:` de un servicio o un bloque de ajustes personalizado que hayas añadido), y el TOML equivalente aparece al instante a la derecha — listo para pegar en Cargo.toml, pyproject.toml o cualquier archivo `.toml` personalizado que lea tu app. Ten en cuenta que todo el documento pegado debe resolverse en un único objeto en el nivel superior; si pegas el archivo compose completo empezando por `services:`, está bien porque es un mapeo, pero una lista simple (como solo el array `ports:` por sí solo) mostrará un error, ya que TOML no puede representar un array como documento raíz.

¿Puedo convertir TOML de vuelta a YAML, no solo YAML a TOML?

Sí: es un conversor bidireccional. Haz clic en la pestaña 'TOML → YAML' (o pulsa Intercambiar después de una conversión YAML → TOML) para pegar TOML y obtener el YAML equivalente, aplicando el ancho de sangría que elijas a la salida. Ambas direcciones usan el mismo enfoque de analizar y volver a serializar, así que las tablas anidadas, los arrays y los array-of-tables se convierten correctamente en cualquier sentido.