Strict JSON formatting
Validate, format or minify strict JSON
Paste JSON or load a nonempty UTF-8 file, choose compact output or indentation of two or four spaces, then select Format. Download the prepared result as webut-result.json. Input and output stay in the private workspace until you explicitly download.
Opens in a new tab. Your work stays in the separate private workspace; read the supported profile and limits below.
Numbers and duplicate keys
Numeric tokens retain their spelling. For example, 9007199254740993, -0 and 1.2300e+04 are not converted to binary floating-point numbers. Object member order is retained. Duplicate decoded keys refuse, so {"a":1,"\u0061":2} is rejected. Root strings, numbers, booleans and null are permitted. String escape spelling may be rewritten while preserving the accepted string value.
Complete formatting example
This complete synthetic source uses spaces after the three object-member colons:
{"z": -0,
With two-space indentation, the complete result is:
{
"z": -0,
"a": [
1e+3,
1.2300,
9007199254740993123456789
],
"u": "é😀"
}With compact output, the complete result is:
{"z":-0,
The two-space download contains 96 UTF-8 bytes; the compact download contains 65. Neither has an added byte-order mark or trailing newline. Member order and the exact number tokens -0, 1e+3, 1.2300 and 9007199254740993123456789 are retained. The accented character and emoji account for more UTF-8 bytes than visible characters.
Supported input
This is strict JSON. Comments, trailing commas, JSON5, schemas, tree editing, queries, differences and newline-delimited JSON are outside this workflow. A UTF-8 file reader consumes one initial byte-order mark; a second mark, or a byte-order-mark character pasted in the text field, is rejected. Accepted unpaired UTF-16 string units retain the existing formatter semantics; this does not promise interoperability with every application.
Limits
Input and formatted output are each limited to 25 MiB of UTF-8 data, with 128 nesting levels and 250,000 JSON nodes. Indented output can exceed the output limit even when input fits; choose compact output as a new explicit action after a refusal. Nothing is truncated. A file load and a later Format are separate actions, each with its original 10-second deadline. Formatting includes preparing and checking the download before Ready. These bounds do not guarantee memory or speed on every device.
Editing source or layout, loading another file, starting new work, Clear or switching workflows withdraws the old result. A prepared JSON download remains available while its exact result is current. Busy Cancel stops publication and keeps the source text. Closing or clearing the workspace cannot erase files already downloaded.