Convert JSON to TOML Configuration
Paste JSON and the converter walks the tree and emits TOML v1.0-compliant output, turning nested objects into [section] headers and arrays of objects into [[array-of-table]] blocks. Scalar types are preserved: integers, floats, booleans, and ISO 8601 datetimes all round-trip to their TOML equivalents with the correct syntax.
This is the tool when you are generating Cargo.toml, pyproject.toml, Netlify config, or any TOML-based configuration from a script that produces JSON; translating a config from one tool's JSON format to another tool's TOML format; or generating a readable config file for a Rust/Python project from an API response. It is also useful when you prefer TOML's section syntax for human review.
TOML is stricter than JSON in a few specific ways, and the converter handles each case so the output is always valid: JSON null (which TOML does not support) is replaced by an empty string with an inline warning pointing to the affected key, arrays with mixed types are normalised to a string array so TOML accepts them, and a root array is wrapped in an [items] table because TOML requires a table at the top level. The result can be downloaded as a .toml file.
Everything runs client-side — no upload, no server, nothing stored.
About JSON to TOML conversion
Convert JSON data into TOML configuration format. Handles TOML-specific limitations automatically: null values are replaced, mixed-type arrays are normalized, and root arrays are wrapped.
- Nested objects mapped to TOML sections
- null values replaced with empty strings (with warnings)
- Mixed-type arrays safely converted to strings
- Root arrays wrapped in an [items] table
- Download result as .toml file
100% client-side. Your inputs never leave your browser. Ads via AdSense (consent required).
Frequently asked questions
How do I convert JSON to TOML?
Paste JSON and the converter emits TOML 1.0 spec-compliant output. Top-level object keys become TOML tables, nested objects become nested tables with dotted headers, and arrays of objects become TOML array-of-tables using the [[section]] syntax. Primitive types map directly: strings are quoted, numbers stay numbers, booleans stay true/false, and JSON dates (if formatted as ISO 8601) become TOML date-time literals.
Is the JSON to TOML converter free?
Yes, fully free with no signup. Convert as often as you need — useful for Cargo.toml, pyproject.toml, Hugo config and other TOML-based tooling. JSONCraft is free across every tool, no premium tier, no limits. Output has no watermarks and can be dropped straight into your repo.
Does the converter upload my JSON?
No. Conversion runs entirely in your browser with no server round-trip. This matters when your JSON represents sensitive project config or credentials; you can convert to TOML safely without anything leaving your machine. There is no history, account or logging.
How are arrays of objects and mixed-type arrays handled?
Arrays of objects become TOML array-of-tables (repeated [[name]] sections), which is the idiomatic way to represent them. Arrays of primitives use the inline [a, b, c] syntax. Mixed-type arrays are rejected by the strict TOML spec (arrays must be homogeneous), so the converter flags them as an error with the offending path so you can fix the JSON before converting.
Why would I choose TOML over JSON or YAML?
TOML targets human-edited config: it supports comments, has simpler semantics than YAML (no significant whitespace, no type surprises) and a more readable surface than JSON for multi-section files. Rust (Cargo), Python (pyproject) and Hugo have standardized on it. Use this converter when a tool you depend on demands TOML but your data source emits JSON.