Validate TOML and export JSON
TOML 1.1 via smol-toml 1.9.0. Dates that don't exist on the calendar are rejected before JavaScript Date normalization.
- Runs in your browser
- No upload
- Check before download
Inputs stay in this tab and are not uploaded or saved automatically. Optional aggregate usage counts and coarse processing diagnostics are sent only after consent, without input content or filenames. Clearing or closing loses inputs; save needed outputs first.
Formats and limits
TOML 1.1 via smol-toml 1.9.0. Dates that don't exist on the calendar are rejected before JavaScript Date normalization. Unsafe integers become exact strings or are rejected. Dates become millisecond ISO strings or are rejected, and offsets, types and sub-millisecond precision are diagnosed. Floats are binary64, and non-finite values are exported as named strings. A BOM is rejected.
UTF-8 only. Input up to 1 MiB; XML up to 100,000 UTF-16 units and depth 64; JSON up to 20,000 nodes. JSON Lines up to 16 MiB, 100,000 records and 1 MiB per value. Output up to 32 MiB. Queries run for up to 3 seconds and other jobs for up to 10 seconds in a worker you can cancel. XSD native memory is limited to 64 MiB; this is not the whole worker or DOM heap.
How to use it
- Choose the source and mode
Paste TOML and choose explicitly whether large integers and dates are converted to strings or rejected. These choices decide how TOML-only types appear in the JSON.
- Configure the domain parameters
Load the example with the string policies. owner.id=9223372036854775807 becomes the exact JSON string "9223372036854775807", and owner.born becomes "1979-05-27T07:32:00.000Z". Review the bigint and date diagnostics.
- Inspect diagnostics and download
Save the JSON together with its diagnostics. A converted date string is not the original TOML date type, and offsets and sub-millisecond precision may change. Keep the original TOML if those differences matter.
Formats and limits
Why is this input rejected or empty?
Reject policies deliberately stop any conversion that would need that type change. Invalid calendar dates are rejected instead of being quietly rolled over to another date. A leading BOM is not supported, so use valid UTF-8 TOML.
Which parser profile and limits apply?
The declared profile is TOML 1.1 via smol-toml. Floating-point values use binary64, and non-finite values are exported as named strings. Date strings use millisecond ISO precision, so they are not a lossless TOML round trip. Input is limited to 1 MiB.
Are inputs or referenced files sent to a server?
Parsing runs locally in a browser worker. URLs inside the input are not used to fetch remote documents. Supply any schema dependencies the tool supports as local files, keep your source file separately, and download the results before you close the page.