Skip to main content
🇪🇸 Español 🇧🇷 Português 🇩🇪 Deutsch
Image Converter Video Converter Audio Converter Document Converter
Tools Guides Formats Pricing API
Log In
Guide

TOML Format: The Complete Technical Guide

PC By Pablo Cirre

Frequently Asked Questions

A single-bracket table header [name] defines a mapping (dictionary) under a key — it can only appear once per key. A double-bracket header [[name]] appends a new mapping to an array under that key — each occurrence adds one element to the array. Use [section] when you have a single configuration block (database settings, server config). Use [[servers]] when you need a list of similar objects (multiple server entries, plugin configurations, dependency overrides). The [[]] syntax is the TOML idiomatic replacement for YAML's "- key: value" list-of-mappings pattern.

A single-bracket table header [name] defines a mapping (dictionary) under a key — it can only appear once per key. A double-bracket header [[name]] appends a new mapping to an array under that key — each occurrence adds one element para o array. usar [section] when you have a single configuration block (database settings, server config). usar [[servers]] when you need a list of similar objects (multiple server entries, plugin configurations, dependency overrides). The [[]] syntax is the TOML idiomatic replacement para YAML's "- key: value" list-of-mappings pattern.

A single-bracket table header [name] defines a mapping (dictionary) under a key — it can only appear once per key. A double-bracket header [[name]] appends a new mapping to an array under that key — each occurrence adds one element zum array. verwenden [section] when you have a single configuration block (database settings, server config). verwenden [[servers]] when you need a list von similar objects (multiple server entries, plugin configurations, dependency overrides). The [[]] syntax is the TOML idiomatic replacement für YAML's "- key: value" list-of-mappings pattern.

A single-bracket table header [name] defines a mapping (dictionary) under a key — it can only appear once per key. A double-bracket header [[name]] appends a new mapping to an array under that key — each occurrence adds one element al array. usar [section] when you have a single configuration block (database settings, server config). usar [[servers]] when you need a list de similar objects (multiple server entries, plugin configurations, dependency overrides). The [[]] syntax is the TOML idiomatic replacement para YAML's "- key: value" list-of-mappings pattern.

On KaijuConverter every file is processed inside an isolated container, encrypted in transit (TLS 1.3) and at rest, and automatically deleted after 60 minutes with multi-pass overwrite. We never train on, share, or analyze user content. For maximum privacy on extremely sensitive material, prefer offline tools (ImageMagick, FFmpeg, LibreOffice) that you control end-to-end.

Python's built-in tomllib (added in Python 3.11) requires the file to be opened in binary mode ("rb") to ensure it reads raw bytes and applies its own UTF-8 decoding according to the TOML specification. This prevents platform-specific line-ending translations (Windows CRLF to LF) or encoding auto-detection from corrupting the parse. The API is tomllib.load(binary_file_object) or tomllib.loads(string). For Python < 3.11, use the third-party tomli package which has an identical API.

For 95% of use cases, yes — server-side ImageMagick, FFmpeg and LibreOffice produce identical output to the same tools on your laptop. Desktop software wins for: extremely large files (multi-GB), batch jobs of thousands of files, scripted pipelines, or content too sensitive to upload. KaijuConverter caps at 25 MB per file on the free tier (up to 2 GB on paid plans).

Choose TOML when: (1) humans will manually edit the configuration frequently — TOML's explicit types prevent accidental boolean/number coercion; (2) you are building a Rust project (Cargo.toml is mandatory) or a Python package (pyproject.toml is the standard); (3) you want minimal parser complexity and a short, unambiguous specification; (4) your config has lists of objects (arrays of tables are cleaner than YAML's indented list syntax). Choose YAML when: you need to integrate with existing Kubernetes, GitHub Actions, or Ansible ecosystems where YAML is the enforced standard, or when you need anchors/aliases for DRY configuration.

Escolha TOML quando: (1) humanos editem frequentemente a configuração à mão — os tipos explícitos do TOML previnem coerções acidentais boolean/number; (2) construa um projeto Rust (Cargo.toml é obrigatório) ou um pacote Python (pyproject.toml é o padrão); (3) queira complexidade mínima de parser e uma especificação curta e sem ambiguidades; (4) sua config tenha listas de objetos (arrays de tables são mais limpos que a sintaxe de listas indentadas do YAML). Escolha YAML quando precisar integrar com ecossistemas existentes (Kubernetes, GitHub Actions, Ansible) onde YAML é o padrão imposto, ou quando precisar de anchors/aliases para configuração DRY.

Wähle TOML, wenn: (1) Menschen die Konfiguration häufig manuell bearbeiten — TOMLs explizite Typen verhindern versehentliche Boolean/Number-Coercions; (2) du ein Rust-Projekt baust (Cargo.toml ist verpflichtend) oder ein Python-Paket (pyproject.toml ist Standard); (3) du minimale Parser-Komplexität und eine kurze, eindeutige Spezifikation willst; (4) deine Config Listen von Objekten enthält (Arrays von Tables sind sauberer als YAMLs eingerückte Listen-Syntax). Wähle YAML, wenn du in bestehende Ökosysteme integrieren musst (Kubernetes, GitHub Actions, Ansible), wo YAML der erzwungene Standard ist, oder wenn du Anchors/Aliases für DRY-Konfiguration brauchst.

Elige TOML cuando: (1) los humanos editen frecuentemente la configuración a mano — los tipos explícitos de TOML evitan coerciones accidentales boolean/number; (2) construyas un proyecto Rust (Cargo.toml es obligatorio) o un paquete Python (pyproject.toml es el estándar); (3) quieras complejidad mínima de parser y una especificación corta y sin ambigüedades; (4) tu config tenga listas de objetos (los arrays de tablas son más limpios que la sintaxis de listas indentadas de YAML). Elige YAML cuando necesites integrar con ecosistemas existentes (Kubernetes, GitHub Actions, Ansible) donde YAML es el estándar impuesto, o cuando necesites anchors/aliases para configuración DRY.

Most format conversions are lossy by design — JPG, MP3, MP4, WebP all discard perceptual data to save bytes. Going through a lossy intermediate compounds the loss. To minimize visible/audible drift: convert from the original master, choose a higher quality setting, and avoid converting back and forth between lossy formats.

TOML has four native temporal types: offset datetime (2024-01-15T10:30:00Z), local datetime (2024-01-15T10:30:00 without timezone), local date (2024-01-15), and local time (10:30:00). These are first-class types — parsers return proper date/time objects, not strings. YAML 1.1 also recognizes dates but via implicit coercion that can cause surprises (date strings in config being parsed as Date objects unexpectedly). JSON has no date type at all — dates are strings by convention. For any configuration with meaningful timestamps, TOML's native date handling eliminates ambiguity and timezone bugs.

TOML has four native temporal types: offset datetime (2024-01-15T10:30:00Z), local datetime (2024-01-15T10:30:00 sem timezone), local date (2024-01-15), e local time (10:30:00). These are first-class types — parsers return proper date/time objects, not strings. YAML 1.1 also recognizes dates mas via implicit coercion that can cause surprises (date strings in config being parsed as Date objects unexpectedly). JSON has no date type at all — dates are strings by convention. para any configuration com meaningful timestamps, TOML's native date handling eliminates ambiguity e timezone bugs.

TOML has four native temporal types: offset datetime (2024-01-15T10:30:00Z), local datetime (2024-01-15T10:30:00 ohne timezone), local date (2024-01-15), und local time (10:30:00). These are first-class types — parsers return proper date/time objects, not strings. YAML 1.1 also recognizes dates aber via implicit coercion that can cause surprises (date strings in config being parsed as Date objects unexpectedly). JSON has no date type at all — dates are strings by convention. für any configuration mit meaningful timestamps, TOML's native date handling eliminates ambiguity und timezone bugs.

TOML has four native temporal types: offset datetime (2024-01-15T10:30:00Z), local datetime (2024-01-15T10:30:00 sin timezone), local date (2024-01-15), y local time (10:30:00). These are first-class types — parsers return proper date/time objects, not strings. YAML 1.1 also recognizes dates pero via implicit coercion that can cause surprises (date strings in config being parsed as Date objects unexpectedly). JSON has no date type at all — dates are strings by convention. para any configuration con meaningful timestamps, TOML's native date handling eliminates ambiguity y timezone bugs.

Yes — KaijuConverter accepts multiple files in a single drop and returns a ZIP. For very large batches (thousands of files) consider command-line tools or our API: <code>find . -name "*.heic" -exec magick {} {.}.jpg \;</code> or similar one-liners scale to millions of files when run locally.

We use cookies and similar technologies to personalise content and ads, and to analyse traffic. Learn more about cookies.