JSON formatter
Format, explore, query, compare and convert JSON locally.
Free, private, in your browser
The everyday tools of building software, made to run where your data already is: format and check JSON, send API requests, test a regex, read a token, work out a cron schedule, and try code at every screen size.
No account, no limits on use, and your files never leave your device: each tool runs in the browser.
Format, explore, query, compare and convert JSON locally.
Paste anything and see what it is: encode and decode Base64, URLs, HTML entities and Unicode in chained steps, and look inside every character.
Send requests to a REST API from your browser, with collections, environments, OAuth and cURL, and a plain word on why one fails.
Write HTML, CSS and JavaScript and see the page they make as you type, with its console beside it, in a sandbox on your device.
See a website or your localhost development server at the sizes of phones, tablets and laptops side by side, loaded by your own browser.
Write HTML, CSS and JavaScript in your browser and see the page as you type, with a console, errors and line numbers. Nothing uploaded, no account.
Write or open an HTML file and see the page beside it as you type, with CSS and JavaScript editors and a console. Save it back as one file. Free, no account.
Try flexbox, grid, animations and custom properties on a page as you type, with SCSS compiled on your device. Free, no account, nothing uploaded.
Run JavaScript in your browser with a real console: logs, tables, errors with their line, endless loops stopped, and packages by name. Free, no account.
Write React components in JSX and see them run as you type. JSX is compiled on your device and React comes from esm.sh. Free, no account, no install.
Write TypeScript and see it run as you type, turned into JavaScript on your device line for line. Free, no account, no install.
Style a page with Tailwind CSS classes and @apply and see it as you type, with Tailwind's own browser build served by KeepSimp. Free, no account.
Type your site's address or your localhost server and see it at the sizes of phones, tablets and laptops side by side, loaded by your own browser.
See your website on an iPhone, an iPhone SE, a Pixel, a Galaxy and a Galaxy Z Flip side by side, each at the size its browser shows a page. Free.
See your website on an iPad mini, an iPad, an iPad Pro, a Galaxy Tab and an open Galaxy Z Fold at once, and turn them all with one key. Free.
See your website at 375, 440, 768, 1280, 1440 and 1920 pixels wide at once, each marked with its Tailwind or Bootstrap breakpoint. Free, no account.
See your development server at localhost on a phone, a tablet and a laptop at once, and keep them in sync as you scroll and click. Free, nothing uploaded.
Send GET, POST and every other request to an API from your browser, with headers, JSON or form bodies, sign-in and cURL, and see exactly why one is blocked.
Paste a cURL command and get the same request in Python, fetch, axios, Node, Go, Rust, Java, C#, PHP, Ruby, Swift, Kotlin, Dart, PowerShell, Wget or HTTPie.
Send GraphQL queries from your browser with the API's schema read for suggestions, checks and docs, variables as JSON and the operation you choose.
Connect to a ws:// or wss:// WebSocket from your browser, send text or JSON, and read every message in a log with its time.
What a CORS error and a preflight are, why the browser only says a request failed, and how to test whether an API lets a web page read it.
Open an OpenAPI 3 or Swagger 2 file, in JSON or YAML, and get a collection of its requests with example bodies, ready to send or save for Postman.
Paste text and see whether it is Base64, percent-encoding, HTML entities, Unicode escapes or punycode; read it in chained steps and look inside every character.
Encode and decode Base64 and Base64url with or without padding, in MIME lines, and files as data URLs; see what a decode passed over.
Percent-encode text for a part of an address, a whole address or a form, decode text encoded several times, and take an address apart.
Escape text for HTML with named, decimal or hex character references, or decode them as a browser does, with HTML's full list of names.
See each character's code point, name and UTF-8 bytes, write escapes for your language, normalise text, and find hidden and look-alike characters.
Make UUIDs of every version in RFC 9562 by the thousand, and read any UUID back to its version and, for versions 1, 6 and 7, the time it was made.
Make ULIDs that sort by time, and read a ULID, KSUID, ObjectId or Discord or X Snowflake ID back to the moment it was made.
Hash text or files of any size with SHA-256, MD5, SHA-3, BLAKE3 and 23 more, make HMACs, and check a download against its checksum or a SHA256SUMS file.
Make bcrypt, Argon2id and scrypt password hashes with the settings you choose, see how long each takes, and check a password against a stored hash.
Make test data in your browser from fields, a JSON example or a JSON Schema: names, addresses, IDs and dates as JSON, CSV, SQL, XML or YAML. Nothing uploaded.
Test a regex in your browser, nothing uploaded: JavaScript, PCRE2 or Go, matches marked as you type, each part explained and drawn, and backtracking found.
Decode a JWT in your browser, nothing sent: read its claims and expiry, verify it with a secret, PEM key or JWKS, and see warnings such as alg none.
Build or paste a cron schedule in your browser, read it in words, see its next runs in any time zone, and convert it for GitHub Actions, Quartz and more.
Write cron for every 5, 15 or 30 minutes or every hour, check its next runs in your browser, and see how Quartz, Spring and GitHub Actions differ.
Write cron for midnight, 9am, weekdays or the 1st of the month, check its runs in your own time zone in your browser, and avoid the day-field trap.
A JWT is often a live key to an account. How to read one in your browser without sending it anywhere, what decoding shows, and how to check a page yourself.
Read a JWT's exp, iat and nbf claims as dates in your browser, see why a token is refused as expired or not yet valid, and what clock skew does to it.
Some online formatters keep what you paste. How to format and validate JSON in your browser with nothing uploaded, and how to check any page yourself.
Find out why JSON will not parse in your browser, nothing uploaded: trailing commas, single quotes, comments, unquoted names. Go to the line and fix it.
Turn a JSON array into a CSV file in your browser, nothing uploaded, then open it in Excel without losing leading zeros or long IDs to its guesses.
Turn a CSV file into a JSON array of objects in your browser, nothing uploaded, with every cell kept as text so leading zeros and long IDs stay as written.
Compare two JSON documents in your browser by their values, not their spacing or key order, and get each change as a path and as a JSON Patch.
Tested regex for email addresses, phone numbers, URLs, IP addresses, UUIDs and dates, with what each accepts. Try them in your browser in three engines.
Decode a Base64 string or data URL back into the PNG, JPEG or PDF it holds, in your browser with nothing uploaded, then preview it and save the file.
Turn a curl command into JavaScript fetch, Node.js or axios code in your browser, nothing uploaded, and see which options a web page cannot carry over.
Send API requests from your browser with collections, environments, tests and runs. Open your Postman files, and keep it all on your device, with no account.
Format, minify and validate JSON in your browser, nothing uploaded, keeping large numbers, escaped strings and key order exactly as written.
Query nested JSON with JSONPath, select an exact value with JSON Pointer, and export results without rounding large IDs.
Repair broken JSON in your browser with a preview, compare values instead of spacing, and make or apply all six JSON Patch operations.
Validate JSON Schema draft-07, 2019-09 and 2020-12, inspect error paths, use local references, and infer a starting schema.
Convert JSON locally, keep CSV identifiers as strings, review spreadsheet formula protection, and generate sample types and schemas.
Make TypeScript types from a JSON sample in your browser, with nothing uploaded, then check what one sample cannot know: optional keys, nulls and big numbers.