How it works
Everything starts with one shared input. Paste text, open a file or drop one anywhere on the page, and the playground tells you what it is: JSON, YAML, CSV, TSV, XML, TOML, .env, a JWT, a cURL command, SQL or plain text. Every panel reads from that same input, so you never copy the same data from one tool into the next.
Each panel has Use as input and Send to B buttons. Convert a CSV to JSON, use the result as the input, query it with JSONPath, then send the matches to input B and compare them with the original. Every replacement of the input can be undone.
The panels
- JSON formats, minifies and validates, shows a collapsible tree, runs JSONPath queries, checks the data against a JSON Schema in input B, and writes TypeScript, Zod, Go or Python types. YAML, CSV, XML and TOML input is read as data too.
- Convert turns JSON, YAML, TOML, XML, CSV, TSV and .env into one another.
- SQL runs real SQLite over your data. The input becomes a table called
dataand input B becomesdata_b, so you can join them. - Regex highlights every match in the input, lists the capture groups and previews a replacement.
- Diff compares the input with input B, or with the output of any other panel.
- Encode handles Base64, URL encoding, HTML entities, hex, MD5 and SHA hashes, and decodes JWTs with readable dates.
- HTTP turns a cURL command into fetch, Python requests, Go or PHP code. No request is ever sent.
Side by side or one at a time
On a wide screen choose one, two or three columns and pick which panel sits in each. The panel buttons put a panel into the column you last worked in. On a phone the panels become tabs, one at a time, with the same input above them.
Your session stays on this device
The inputs, the panels you have open and their settings are kept in this browser automatically, so a reload brings your work back. Very large inputs, over about two million characters, are not kept, though the settings still are. Export the whole session as a JSON file to move it to another computer or share it with a teammate, and import it there. Start over clears everything, including the saved copy.
Keyboard shortcuts
- Ctrl Enter runs the panel you are working in
- Alt 1 to 7 switch panels, and Ctrl 1 to 7 work too in browsers that pass them to the page
- Ctrl Z and Ctrl Shift Z undo and redo changes to the input
Privacy
All of the work happens in your browser. Your data, tokens and queries are never uploaded, and the HTTP panel only writes code, it never makes the request. The saved session lives in this browser's storage and nowhere else.
Questions
How large can the input be?
Several megabytes work well on a computer. Panels only run while they are on screen, patterns run in the background with a time limit, and long highlights and tables stop at a sensible size, so the page stays responsive.
Is the JWT signature checked?
No. The header and payload are decoded and the dates are explained, but checking a signature needs the secret or public key. Never paste a production secret into any website you do not control.
Which SQL can I use?
Full SQLite: joins, grouping, window functions, common table expressions and JSON functions. Nested JSON objects become columns such as customer_name.