A small, reproducible test bench
Test your JSON workflow with files that reveal real problems
Download a clean control, then try comments, line-delimited records, precision boundaries, duplicate names, invisible characters, and invalid input. Each file has a byte count, SHA-256 fingerprint, and a specific outcome to check.
All files are synthetic and smaller than 1 KB. No personal data, generated gigabyte download, or script-driven fixture creation.
Use the same bytes everywhere
Run a fair check
- Download a file and record its SHA-256 before comparing tools.
- Choose the matching input mode: JSON, JSONC, NDJSON, or NDJSONC. A strict JSON parser is the control, not the universal oracle for relaxed formats.
- Check the named operation below. Viewing a raw token, parsing it, querying it, and exporting it can produce different results.
Start with a clean control
Confirm the ordinary path before testing edge cases.
Nested orders
Check whether a viewer keeps array, object, and scalar boundaries clear.
- Size
- 271 bytes, UTF-8
- SHA-256
b6e7939d9f8179c79eecc4d28a6565a7098d85c88a415adf132a6393222cb4ad
Expected behavior by operation
- Strict JSON parse
- Accept one JSON document.
- Format-aware open
- Show two orders; the first has one nested item.
- Query, convert, or export
- Query $.orders[0].items[0].sku and expect pen. For CSV, choose or flatten fields first.
Where formats diverge
A file extension and input mode matter as much as the text inside.
Line and block comments
Catch cleanup code that mistakes // inside a URL for a comment.
- Size
- 190 bytes, UTF-8
- SHA-256
6ea8d0eb029fe98e584cafa25f583d44939a7e2246ae542f437ba175c814876b
Expected behavior by operation
- Strict JSON parse
- Reject comments.
- Format-aware open
- A JSONC-aware reader accepts both comment styles and keeps the endpoint string unchanged.
- Query, convert, or export
- After a verified JSONC-to-JSON conversion, retry.attempts is 3 and the URL still ends in /v1//status.
Trailing commas
Separate JSONC reading from strict JSON or ordinary JQ acceptance.
- Size
- 57 bytes, UTF-8
- SHA-256
f13854ad432854a70fff75998bcfc2e989f4983e24fe5ce73ffa468a4fb790f0
Expected behavior by operation
- Strict JSON parse
- Reject the comma after query and the comma after true.
- Format-aware open
- A JSONC-aware reader can show features and enabled after accepting trailing commas.
- Query, convert, or export
- Remove both trailing commas for strict JSON or ordinary JQ; do not assume a comment-tolerant JQ path accepts this case.
Three independent records
Distinguish line-delimited input from one JSON array.
- Size
- 120 bytes, UTF-8
- SHA-256
f4e4ea9db649e033d66bc9788582c6042973292d64062e4a6351a7801d4f31af
Expected behavior by operation
- Strict JSON parse
- Reject the file as a single JSON document; each of its three lines parses separately.
- Format-aware open
- An NDJSON reader yields three records. JSON All-in-One normalizes recognized NDJSON into a workspace array.
- Query, convert, or export
- Filter records where ok is true and expect evt-1 and evt-3, in that order.
Relaxed records
Test a comment in one line and a trailing container comma in another.
- Size
- 77 bytes, UTF-8
- SHA-256
9b48b61e4dcc14c6eed789eb5650db5a5295841848c61cf09b059f4c949d75e8
Expected behavior by operation
- Strict JSON parse
- Reject the file as one document; strict per-line JSON also rejects both records.
- Format-aware open
- An NDJSONC-aware reader yields two records, open then close.
- Query, convert, or export
- Export strict NDJSON only after removing the comment and trailing comma from each record.
Numbers that need a source check
Syntax validity does not guarantee exact arithmetic or round trips.
Integer past 2^53 - 1
Show the gap between an exact source token and a JavaScript Number.
- Size
- 56 bytes, UTF-8
- SHA-256
91de0b1b646a5d0b5e610c132f681f77e1ac4237c3b6cd60f32fe06ac2cc3291
Expected behavior by operation
- Strict JSON parse
- Accept the numeric literal 9007199254740993.
- Format-aware open
- Inspect the source token, not just a converted numeric cell.
- Query, convert, or export
- JavaScript JSON.parse rounds id to 9007199254740992; exact_text retains 9007199254740993. Do not round-trip an ID through Number.
Long decimal
Expose rounding during parsing, arithmetic, or export.
- Size
- 110 bytes, UTF-8
- SHA-256
ba8d29427a482dc6aee0245d7486f7546fa303bee9e4e1fec1a49b2958d3859a
Expected behavior by operation
- Strict JSON parse
- Accept the long decimal as a JSON number token.
- Format-aware open
- Compare the raw amount token with exact_text before any conversion.
- Query, convert, or export
- A JavaScript Number cannot retain all shown decimal digits. For exact decimal equality, compare the source token or a decimal-safe representation.
Ambiguity and deliberate errors
A useful tool should make these conditions visible, not silently smooth them away.
Duplicate object names
Check whether a parser warns, rejects, or silently overwrites a name.
- Size
- 43 bytes, UTF-8
- SHA-256
fccb04376cb47b358840d0bc1acf999a1258da77f66cd814160cc703db4b5765
Expected behavior by operation
- Strict JSON parse
- JavaScript JSON.parse accepts the text and returns mode as second.
- Format-aware open
- The raw source contains two mode members; a parsed object may show only one.
- Query, convert, or export
- A parse-and-serialize round trip loses the first mode value. Do not use normalized output as proof the source had unique names.
Escaped invisible and Unicode characters
Inspect decoded code points without hiding control characters in the file itself.
- Size
- 138 bytes, UTF-8
- SHA-256
fc5d895ef11058f35e6618cca918c26e0bd63c03a8cd10cc5ccedd0bb002f10f
Expected behavior by operation
- Strict JSON parse
- Accept valid JSON escape sequences.
- Format-aware open
- The first decoded key starts with U+200B; precomposed and decomposed e-accent values can look alike but differ.
- Query, convert, or export
- Inspect code points before key comparison or normalization. The direction value includes U+202E and may render in a surprising order.
Incomplete literal
Exercise a precise parse error instead of accepting a partial object.
- Size
- 28 bytes, UTF-8
- SHA-256
e21143af8e456eebcb13f79d0fabab8d0bac94b66d3a8dfbfb90edebca6e0a44
Expected behavior by operation
- Strict JSON parse
- Reject tru because the only valid boolean token here is true.
- Format-aware open
- A validator should point to the bad token; do not treat the file as valid JSON.
- Query, convert, or export
- Fix tru to true before querying or exporting; no partial success should be presented as a validated document.
Second root on the same line
Detect parsers that silently stop after the first complete value.
- Size
- 28 bytes, UTF-8
- SHA-256
3cfc3c70de8c2d21796cfb41176dcd3d6dcb83dd4fa15bf05e459747b91c040d
Expected behavior by operation
- Strict JSON parse
- Reject extra non-whitespace text after the first object.
- Format-aware open
- Do not silently accept only {"ok":true}; both objects are on one line, so this is not valid NDJSON either.
- Query, convert, or export
- Split into separate NDJSON lines or wrap both objects in an array before continuing.
Read the result, not the badge
What these files do not prove
These tiny files test behavior, not throughput, security, or overall product quality. Strict JSON syntax is separate from a reader's JSONC or record mode; preserving a number's source spelling is separate from exact arithmetic. A different tool may deliberately reject duplicates or relaxed input, and that can be a useful policy.
For larger, repeatable measurements, use the large JSON viewer benchmark methodology and record the generator, size, route, browser, and operation. We do not host a 1 GB fixture here.
Continue after a result
Work with a fixture
Use the tools index for available browser workflows, or paste two versions of a strict JSON fixture into the JSON diff tool. For local files, the file-opening guide explains the extension's file-access route.
Keep inspecting in JSON All-in-One
Open a fixture in the browser workbench, inspect its source and structured view, then choose a query or export only after checking the input mode.
See the product overview