Convert JSON to TOML

Convert JSON files to TOML. Runs entirely in your browser — files never leave your device.

Drop your file here, or browse

Supports images, documents, data files, code, and more

About this conversion

Convert JSON to TOML when you're working in the Rust, Python, or Go ecosystems where TOML is the standard config format (Cargo.toml, pyproject.toml, etc.). TOML is more readable than JSON for hand-edited configs while still being unambiguous and machine-parseable.

When this conversion is useful

  • Producing a `pyproject.toml` or `Cargo.toml` from a JSON-based generator
  • Migrating a JSON config file to a TOML-based ecosystem
  • Making a JSON config human-friendly for hand editing
  • Bridging between JSON-emitting build tools and TOML-consuming runtimes

Quality and tradeoffs

TOML's tables and arrays-of-tables map cleanly from nested JSON objects and arrays of objects. Keys are quoted only when they contain special characters. Strings, numbers, booleans, and null all map directly. Dates have native TOML support.

Frequently asked questions

Will my TOML output be valid for Cargo or pyproject.toml?

Yes if your JSON shape matches the expected schema. The conversion produces well-formed TOML; whether it's a valid Cargo/pyproject file depends on whether the JSON has the right keys.

How are nested arrays of objects represented?

As `[[arrays.of.tables]]` blocks — TOML's idiomatic way to express repeating sub-objects. The output is more verbose than JSON but easier to read for humans.

Are JSON nulls preserved?

TOML doesn't have a `null` type. Null values are typically dropped from the TOML output, since absence of a key is TOML's way of saying "no value".