ToolDeck

Formateador TOML

Formatea y valida archivos de configuración TOML

Prueba un ejemplo

Entrada TOML

TOML Formateado

Se ejecuta localmente · Es seguro pegar secretos
El TOML formateado aparecerá aquí…
También prueba:TOML to JSON

Última actualización: abril de 2026

¿Qué es el formateo de TOML?

TOML (Tom's Obvious Minimal Language) es un formato de archivo de configuración creado por Tom Preston-Werner en 2013. Se asigna directamente a una tabla hash y utiliza tipado explícito para todos los valores. Un formateador TOML toma TOML sin procesar o con estilos inconsistentes y lo re-serializa con espaciado uniforme, indentación adecuada y ordenación canónica de claves. El resultado es un archivo que sigue las mismas convenciones en todo tu proyecto, haciendo que los cambios de configuración sean más fáciles de revisar en los diffs.

La especificación TOML v1.0.0, finalizada en enero de 2021, define la gramática con suficiente rigor como para que cualquier analizador compatible produzca una estructura de datos idéntica a partir de la misma entrada. El formateo no cambia el contenido semántico de un archivo TOML. Solo ajusta el espacio en blanco, la agrupación de claves y el estilo de las comillas. Esto significa que puedes formatear archivos TOML libremente sin preocuparte por romper el comportamiento de tu aplicación.

A diferencia de JSON, TOML admite comentarios, tipos de fecha y hora nativos, y múltiples formas de cadenas (básica, literal y multilínea). Un buen formateador preserva los comentarios y respeta la distinción entre tablas en línea y encabezados de tabla estándar. También gestiona correctamente los arrays de tablas, manteniendo la agrupación de secciones intacta para que el archivo siga siendo legible tanto para las personas como para los analizadores que lo consumen.

Before · toml
After · toml
title="My App"
version="1.0.0"
debug=false
[database]
host="localhost"
port=5432
name="mydb"
[database.pool]
max_connections=25
timeout=30
[[servers]]
name="web"
host="web.example.com"
[[servers]]
name="api"
host="api.example.com"
title = "My App"
version = "1.0.0"
debug = false

[database]
host = "localhost"
port = 5432
name = "mydb"

[database.pool]
max_connections = 25
timeout = 30

[[servers]]
name = "web"
host = "web.example.com"

[[servers]]
name = "api"
host = "api.example.com"

¿Por qué usar un formateador TOML?

Los archivos de configuración acumulan inconsistencias de estilo a medida que distintos miembros del equipo los editan con el tiempo. Los tabuladores se mezclan con espacios, algunas claves se citan innecesariamente y las secciones de tablas pierden su agrupación visual. Un formateador TOML normaliza todo esto en una sola pasada.

Formateo instantáneo
Pega TOML sin formatear y obtén una salida limpia y con estilo consistente de inmediato. Sin instalación de CLI, sin configuración de proyecto, sin esperar un paso de compilación.
🔒
Procesamiento con privacidad
Todo el análisis y el formateo se ejecutan en tu navegador. Tus datos de configuración, incluidas las credenciales o los nombres de host internos, nunca abandonan tu máquina.
Validación incluida
El formateador analiza tu TOML antes de re-serializarlo. Si la entrada tiene errores de sintaxis, recibes un mensaje de error claro con la línea problemática, por lo que el formateo sirve también como validación.
📋
Sin registro requerido
Abre la página y empieza a formatear. No hay registro, sin límite de uso y sin seguimiento del uso. La herramienta funciona de forma idéntica en cada visita.

Casos de uso del formateador TOML

Desarrollo frontend
Formatea archivos wrangler.toml para proyectos de Cloudflare Workers o deno.toml para frontends basados en Deno. Un formateo limpio ayuda al revisar configuraciones de despliegue en pull requests.
Ingeniería backend
Estandariza archivos Cargo.toml en múltiples microservicios de Rust. Un formateo consistente facilita revisar versiones de dependencias y feature flags en distintos repositorios.
DevOps y CI/CD
Formatea archivos de configuración como .goreleaser.toml, netlify.toml o configuraciones del prompt de Starship antes de confirmar los cambios. Añade una comprobación de formateo a los pipelines de CI para garantizar la consistencia de estilo.
QA y pruebas
Formatea rápidamente los fixtures de prueba para que sean legibles y se puedan comparar con diffs. Cuando una prueba falla por diferencias de configuración, los archivos formateados hacen evidente la comparación entre el valor real y el esperado.
Ingeniería de datos
Formatea configuraciones de Telegraf o InfluxDB que definen pipelines de recolección de datos. Estos archivos suelen crecer hasta cientos de líneas, y un formateo consistente los mantiene manejables.
Aprender la sintaxis TOML
Pega ejemplos de la documentación o tutoriales y observa cómo los normaliza el formateador. Es una forma rápida de aprender qué estilos de corchetes, reglas de comillas y agrupaciones de tablas son canónicos.

Referencia de sintaxis TOML

TOML tiene un conjunto pequeño de construcciones. La tabla a continuación lista todos los elementos estructurales definidos en la especificación TOML v1.0.0. Un formateador aplica espaciado y agrupación consistentes a todos ellos.

SintaxisNombreNotas
key = "value"Basic key-value pairKeys are bare or quoted; values are typed
[table]Standard tableCreates a named section (hash table)
[a.b.c]Dotted tableShorthand for nested tables
[[array]]Array of tablesEach [[name]] block appends to an array
key = """...\n"""Multi-line basic stringAllows newlines, escapes processed
key = '''...\n'''Multi-line literal stringAllows newlines, no escape processing
# commentCommentExtends to end of line; not in JSON output
{inline = true}Inline tableSingle-line table, no newlines allowed

TOML frente a JSON frente a YAML

TOML, JSON y YAML resuelven problemas similares pero con compromisos distintos.

CaracterísticaTOMLJSONYAML
Comentarios# comentarios de líneaNo admitido# comentarios de línea
Valores tipadosString, int, float, bool, datetimeString, number, bool, nullInferido (propenso a errores)
AnidamientoEncabezados [table]LlavesBasado en indentación
Rigor de la especificaciónEstricto (un único resultado de análisis)Estricto (RFC 8259)Flexible (múltiples análisis válidos)
Soporte de fecha/hora4 tipos nativosNinguno (usar strings)Implícito (frágil)
Comas finalesNo permitidasNo permitidasN/A (sin comas)

Ejemplos de código

Los ejemplos a continuación formatean TOML mediante programación en distintos lenguajes y herramientas. Cada uno lee un archivo, lo analiza y escribe una versión formateada.

JavaScript (Node.js)
import { parse, stringify } from '@iarna/toml'
import fs from 'fs'

const raw = fs.readFileSync('config.toml', 'utf-8')
const doc = parse(raw)
const formatted = stringify(doc)
// stringify() outputs canonical TOML with consistent spacing
fs.writeFileSync('config.toml', formatted)

// Quick one-liner with npx:
// npx taplo fmt config.toml
Python
import tomllib   # Python 3.11+ (read-only)
import tomli_w   # pip install tomli-w (write)

# Parse and re-serialize to format
with open("config.toml", "rb") as f:
    data = tomllib.load(f)

formatted = tomli_w.dumps(data)
# tomli_w produces sorted keys, consistent quoting, and
# proper whitespace around = signs
print(formatted)

# CLI alternative: taplo fmt config.toml
Go
package main

import (
    "fmt"
    "os"
    "github.com/BurntSushi/toml"
    "bytes"
)

func main() {
    var data map[string]interface{}
    _, err := toml.DecodeFile("config.toml", &data)
    if err != nil {
        fmt.Fprintln(os.Stderr, err) // parse error with line number
        os.Exit(1)
    }
    var buf bytes.Buffer
    enc := toml.NewEncoder(&buf)
    enc.Indent = "  "
    enc.Encode(data) // re-serialized with consistent formatting
    fmt.Print(buf.String())
}
CLI (taplo)
# Install taplo — the standard TOML toolkit
cargo install taplo-cli
# or: npm install -g @taplo/cli

# Format a single file in place
taplo fmt config.toml

# Format all .toml files in a project
taplo fmt

# Check formatting without modifying (CI-friendly)
taplo fmt --check

# Validate TOML syntax without formatting
taplo lint config.toml

Preguntas frecuentes

¿Qué hace un formateador TOML?
Un formateador TOML analiza el archivo en una estructura de datos y luego lo re-serializa con espaciado uniforme, ordenación de claves y estilo de comillas. El contenido semántico no cambia. Solo varía la presentación visual: el espaciado alrededor de los signos de igual, las líneas en blanco entre secciones de tablas y la indentación de los valores anidados.
¿Es seguro el formateo TOML para archivos de configuración en producción?
Sí. El formateo solo cambia el espacio en blanco y los detalles cosméticos. La estructura de datos resultante del análisis es idéntica antes y después del formateo. Si el formateador encuentra una entrada no válida, informa de un error en lugar de producir una salida incorrecta. Puedes verificarlo analizando ambas versiones y comparando los objetos resultantes.
¿En qué se diferencia TOML de JSON?
TOML admite comentarios, tipos de fecha y hora nativos, strings multilínea y encabezados de tabla para organizar datos anidados. JSON no tiene ninguna de estas características. El formato está diseñado para archivos de configuración que las personas leen y editan. JSON está diseñado para el intercambio de datos entre programas. No puedes usar comentarios en JSON, lo que dificulta documentar las decisiones de configuración de forma inline.
¿Puedo formatear TOML desde la línea de comandos?
Sí. Taplo es el formateador CLI de TOML más utilizado. Instálalo con cargo install taplo-cli o npm install -g @taplo/cli, y luego ejecuta taplo fmt para formatear todos los archivos .toml de tu proyecto. Admite configuración mediante un archivo taplo.toml o .taplo.toml para reglas personalizadas.
¿El formateo preserva los comentarios en los archivos TOML?
Este formateador basado en el navegador analiza la entrada en una estructura de datos y la re-serializa, lo que elimina los comentarios. Si necesitas preservar los comentarios, usa una herramienta que opere sobre el árbol de sintaxis concreto (CST), como Taplo (CLI) o toml-edit (librería de Rust), que trabajan sobre el CST en lugar de los datos analizados.
¿Cuál es la diferencia entre formatear y validar TOML?
La validación comprueba si el archivo cumple la especificación e informa de los errores si no lo hace. El formateo va un paso más allá: valida la entrada y luego la reescribe con un estilo normalizado. Toda operación de formateo incluye la validación como primer paso, por lo que un archivo que se formatea correctamente tiene garantía de ser válido.
¿Qué proyectos usan TOML como formato de configuración?
Cargo de Rust (Cargo.toml), el ecosistema de empaquetado de Python (pyproject.toml), los sitios estáticos de Hugo, Deno (deno.toml), Cloudflare Workers (wrangler.toml), InfluxDB, Telegraf y el prompt de Starship usan TOML. El formato ganó popularidad después de que Rust lo adoptara como estándar para los manifiestos de paquetes en 2015.