All Tools
Categories
XML Tools 64 Email Marketing Tools 55 Import-Export Tools 50 JSON Tools 36 Text Tools 12 Shipping Freight Tools 5 Calculator 4 Marketing Tools 3
About Contact Privacy

JSON to TOML

Convert a JSON config to TOML in one click: [table] headers, [[array of tables]], inline arrays and strings with proper quoting. Download ready. All client-side.

JSON Input
Waiting for input
TOML Output
Nested objects become [table] headers, arrays of objects become [[array-of-tables]] sections, and scalar arrays become inline arrays. TOML has no null — null values are written as "null".

About JSON to TOML

TOML exists to be read by humans: explicit table headers, plain key = value lines, no nesting punctuation. The ecosystem — Cargo, poetry, pip, Go tooling — loves it, but most of the world still hands you JSON. Translating one into the other by hand means tracking table paths and array-of-tables headers yourself.

Convert JSON to TOML maps a JSON config onto idiomatic TOML: nested objects become [table] sections, arrays of objects become [[array-of-tables]], scalars become inline values, and strings are quoted and escaped correctly. One click, fully client-side.

Features

  • Idiomatic tables: Nested objects become [path.to.table] headers.
  • Array of tables: Arrays of objects become repeated [[path]] sections.
  • Inline arrays: Scalar arrays become compact [ "a", "b" ] values.
  • Proper string quoting: TOML basic strings with \n, \t, \\ and \" escapes.
  • Typed values: Numbers, booleans and mixed arrays survive as TOML literals.
  • Blank-line sections: Output is grouped with blank lines between tables for readability.
  • Copy and download: Export the result as a .toml file instantly.
  • Private: All processing happens in your browser; nothing is uploaded.

How to Use

  1. Paste your JSON config into the input pane.
  2. Review the live TOML — table headers and arrays are applied automatically.
  3. Copy or download the .toml file.

Examples

Example 1 — Rust tooling. A developer converts a JSON build config into a Cargo-adjacent .toml file, with nested objects mapping cleanly onto table headers.

Example 2 — Python packaging. A maintainer migrates setup metadata from JSON to a pyproject.toml style layout, reusing the array-of-tables output for entry points and dependencies.

Example 3 — Config review. An architect converts a JSON config to TOML for a readability review — table headers make the structure visible at a glance in diffs.

Example 4 — Round-trip editing. A developer converts JSON to TOML, edits the friendlier format by hand, and converts back with the companion tool.

Benefits

  • Human-readable output: Table headers replace JSON nesting noise.
  • Standards-correct: Basic strings, tables and arrays of tables follow TOML v1.0.
  • Full structure: Nesting, arrays and types survive conversion.
  • Zero data movement: The document is converted locally and never uploaded.
  • Instant results: Live output updates with every keystroke.

Frequently Asked Questions

How does JSON become TOML?
Root-level scalars become key = value lines. Nested objects become [table] headers with their keys beneath. Arrays of objects become [[array-of-tables]] sections, one per element, and arrays of scalars become inline TOML arrays.
How are strings quoted?
All strings use TOML basic strings (double quotes) with the required escapes: \n, \t, \r, \\ and \" are written explicitly. Non-ASCII characters pass through as UTF-8, which TOML fully supports.
What happens with null values?
TOML has no null type. Null values are written as the string "null" so nothing is silently dropped — keep this in mind when reading the output back, or remove null fields before converting.
How do arrays of objects look?
Each object in an array becomes its own [[path]] section, exactly the TOML idiom. Objects with nested objects inside also get their own child tables beneath the [[path]] header, so nesting is preserved fully.
Are numbers preserved?
Yes. Integers and decimals are emitted in their literal form, booleans as true/false, and arrays of mixed scalars as inline arrays like ["a", 1, true].
Is my JSON uploaded anywhere?
No. Conversion happens entirely in your browser. Nothing is uploaded, stored or logged.