Dataversion v1.0.0
JSON Toolkit
Six operations on one page and one endpoint. Every one of them changes whitespace and member order and nothing else — number literals, string literals and escape sequences are copied through byte for byte, so a snowflake id comes out the id you put in.
Re-serialised with the indent below. Numbers and strings are copied through verbatim.
Precision
Numbers are copied through verbatim. Nothing here is ever parsed into a floating-point value and printed back out.
- You write
- 12345678901234567890
- We return
- 12345678901234567890
- Others return
- 12345678901234567000
The same holds for 1.0, 1e400 and -0, and for every \u escape inside a string.
Privacy
This page transforms your JSON in this browser tab. Nothing you paste is sent to the server, stored or written to the URL.
No local storage, no analytics, no history entry — refreshing the page discards everything. The honest asymmetry: the browser is local, the curl path is not. The terminal path transforms in memory on the server and never writes or logs a body, but it is still a network request.
From the command line
The same URL answers a POST with the value alone and exactly one newline — nothing to strip before | jq. The body is used byte-exactly, so use printf '%s' rather than echo when a trailing newline would matter.
cat data.json | curl -fsS --data-binary @- 'https://tools.primeforge.app/json?mode=format&indent=2'curl -fsS --data-binary @config.json 'https://tools.primeforge.app/json?mode=validate&duplicates=reject' -o /dev/null || exit 1