JSON to TOML converter

Paste JSON and see it as TOML below, as you type: objects become tables, lists of objects arrays of tables, ready for a Cargo.toml, a pyproject.toml or an app config.

Tables and arrays of tables

Plain values come first, then objects as [tables] and lists of objects as [[arrays of tables]], laid out with the same rules as the TOML formatter.

What TOML cannot hold

TOML has no null, and its top level must be a table. A null is pointed out by its path (such as "owner.email") so you can give it a value or leave it out, and a list at the top level asks to be put under a key.

Exact numbers

Integers beyond JavaScript's safe range keep every digit, up to TOML's 64-bit limit.

Copy, download or keep editing

The TOML follows your typing, and a mistake in what you paste is pointed out first, with its line and column. Copy or Download take the TOML as it is; Use as text puts it in the editor in place of what you pasted (Ctrl+Z goes back).

Private: nothing is uploaded

Formatting, checking and comparing all happen in your browser. Your documents are saved in the browser's own storage on this computer, not on a server, so they never leave your device.

With your permission, we count anonymous visits (which pages and tools are used), never what you type. See Privacy.

Questions

How do I convert JSON to TOML?

Paste or open the JSON: the TOML appears below it straight away, ready to copy or download.

Why does it say TOML has no null?

TOML has no way to write "no value". Give the key a value, or remove it, and the conversion carries on.

Is my data uploaded anywhere?

Your documents aren't: everything runs in your browser, and they are saved on your computer, in the browser's storage for this site. With your permission we count anonymous visits, never their content.

More tools