JSON to TOML Converter

Transform JSON data into TOML (Tom's Obvious, Minimal Language) format

About JSON to TOML Converter

Convert JSON data to TOML (Tom's Obvious, Minimal Language) format, a minimal configuration file format that's easy to read and write. TOML is designed to map unambiguously to a hash table.

Key Features

  • Proper TOML Syntax: Generates valid TOML with correct key-value pairs
  • Nested Tables: Converts nested JSON objects to TOML tables
  • Array of Tables: Handles arrays of objects as TOML array of tables
  • Inline Tables: Optional inline table format for compact output
  • Key Sorting: Alphabetically sort keys for consistent output
  • Comments: Optional comments for better readability
  • Type Preservation: Maintains booleans, integers, floats, and strings
  • Date Support: Recognizes ISO 8601 date strings

How to Use

  1. Input JSON Data: Paste your JSON or upload a .json file
  2. Configure Options: Choose comments, key sorting, and inline table preferences
  3. Review Output: The TOML configuration updates automatically
  4. Copy or Download: Use the Copy or Download button to save your .toml file
  5. Use in Applications: Use the TOML file in your configuration

Example Conversion

JSON Input:

{
  "title": "TOML Example",
  "database": {
    "server": "192.168.1.1",
    "ports": [8001, 8002],
    "enabled": true
  }
}

TOML Output:

# Generated TOML
# Converted at: 2024-01-01T00:00:00.000Z

title = "TOML Example"

# Section: database
[database]
server = "192.168.1.1"
ports = [8001, 8002]
enabled = true

TOML Syntax Elements

  • Key-Value Pairs: key = "value" for simple assignments
  • Tables: [table.name] for nested objects
  • Array of Tables: [[array.item]] for arrays of objects
  • Inline Tables: name = { key = "value", key2 = 123 }
  • Arrays: [1, 2, 3] for lists of values
  • Comments: # Comment text
  • Strings: "quoted strings" with escape sequences
  • Numbers: Integers and floats without quotes
  • Booleans: true or false (lowercase)
  • Dates: ISO 8601 format (2024-01-01T00:00:00Z)

TOML Data Types

  • String: JSON strings → TOML quoted strings
  • Integer: JSON integers → TOML integers
  • Float: JSON floats → TOML floats
  • Boolean: JSON true/false → TOML true/false
  • Array: JSON arrays → TOML arrays
  • Object: JSON objects → TOML tables
  • Date: ISO 8601 strings → TOML datetime
  • Null: JSON null → Empty string (TOML has no null)

Common Use Cases

  • Configuration Files: Convert JSON config to TOML for better readability
  • Rust Projects: Generate Cargo.toml or config files
  • Python Projects: Create pyproject.toml files
  • Hugo Sites: Generate Hugo configuration files
  • Application Settings: Store app settings in TOML format
  • Data Migration: Convert JSON data to TOML for different systems

TOML vs JSON

  • Readability: TOML is more human-readable for configuration files
  • Comments: TOML supports comments, JSON doesn't
  • Syntax: TOML uses key = value, JSON uses "key": value
  • Trailing Commas: TOML doesn't require commas between entries
  • Dates: TOML has native date/time support
  • Null Values: TOML doesn't have null, JSON does

Best Practices

  • Use for Config: TOML is ideal for configuration files
  • Organize Sections: Group related settings in tables
  • Add Comments: Use comments to document configuration options
  • Sort Keys: Enable key sorting for consistent output
  • Validate Output: Test TOML in your target application
  • Handle Null: Remember TOML doesn't support null values

TOML Specification

This converter follows the TOML v1.0.0 specification. Learn more at toml.io.

Privacy & Security

All conversions happen locally in your browser. Your JSON data is never uploaded to any server, ensuring complete privacy and security.