Developer tools and guides
Format and convert JSON, SQL, XML and YAML, test regex, and encode or hash data.
Format & minify code
- CSS formatterLay out CSS over lines and indents without rewriting a single value — the token stream is proved identical apart from whitespace.
- CSS minifierRemove safe formatting bytes while preserving rule order, duplicates, custom properties and unknown at-rules.
- HTML formatter and markup compactorPaste HTML and read it. Whitespace inside pre, code and script is never touched.
- JavaScript formatterLay minified JavaScript out over lines and indents. Your quotes, numbers and comments come back as you wrote them — only whitespace moves.
- JavaScript minifierRemove representation bytes without executing, renaming, folding, or deleting your code.
- JSON formatterPaste JSON and read it. Invalid input gets the line, the column and the line itself.
- SQL Query FormatterNames the dialect before it reformats anything. Runs in your browser — your query is never uploaded.
- XML formatter and validatorFormat or minify strict XML without changing namespaces, mixed content, CDATA, or preserved whitespace.
Validate, test & inspect
- JSON validatorNot just valid or invalid. If it is not JSON, this says whether it is JSONC or JSON5, which rule it broke, and the smallest change that makes it JSON.
- Regex testerRuns in your browser. No upload, no account.
- SQL file viewerOpen a text .sql file and inspect its encoding, dialect, statements, comments and bounded excerpts without loading the whole file into memory.
- SQLite File ViewerInspect SQLite tables, schema, values, and one read-only query locally, with a receipt for WAL state and each safety boundary.
- URL parserPaste a link and see what it is actually made of — every component named, every query parameter shown twice, raw and decoded.
- XML validatorCheck whether XML is well formed, with every error listed by line and column, and validate it against an XSD schema without uploading either file.
- XPath testerRun an expression against an XML document in this tab. XPath 1.0 — the version your browser actually implements — with the namespace prefixes bound by you.
Encode, decode & hash
- Base64 decode and encodeBase64 encodes bytes, not characters. Which bytes depends on the character encoding — so this tool lets you choose it, both ways.
- CSV escape and unescapeWrite text as a CSV field any reader parses back exactly, quoted only where it has to be, or read a quoted field back into text.
- HMAC generatorSign a message with a secret key and get the signature in hex and Base64 at once. Hex and Base64 keys are read as bytes, not as letters — the difference is the one that costs an afternoon.
- HTML escape and unescapeSpell text so it can sit safely inside HTML, or read character references back to text — all 2,231 named ones, not just the five everyone remembers.
- Convert an image to base64The encoded copy is about a third bigger than the file. You see exactly how much bigger before you copy it.
- Java escape and unescapeSpell text so javac reads it back exactly, as a string literal or a text block, or turn escape sequences back into text.
- JavaScript escape and unescapeSpell text so it fits inside a JavaScript string or template literal, or read escape sequences back — checked against what the language itself accepts.
- JSON escape and unescapeSpell a string so it can sit between quotes in JSON, or read that spelling back. It says what your line endings did on the way in — because a textarea changes them and does not tell you.
- JWT decoderDecoding a JWT needs no key at all — that is the part people get wrong. Checking its signature needs one, and that happens here too, without the token ever leaving this page.
- MD5 checksumCompare all 32 characters for accidental corruption. An MD5 match does not prove a file is authentic or untampered.
- SHA256 checksumComparing two 64-character strings by eye is the part people get wrong. Paste the sum the publisher gave you and get a straight answer.
- SHA256 generatorType or paste a string and get its SHA-256, SHA-1, SHA-384, SHA-512 and MD5 at once. The bytes are what get hashed, and this page shows you which bytes those are.
- SQL escape and unescapeTurn text into a string literal MySQL, SQL Server, SQLite or PostgreSQL reads back exactly, or read a literal back into text.
- URL decode and encodeThree different things are called URL encoding, and they disagree about the plus sign. This one asks which you mean — and says when your string was encoded twice.
- XML escape and unescapeSpell text so it can sit inside an XML element or attribute, or read references back — with a straight answer about the characters XML 1.0 cannot hold.
Convert data formats
- Cron expression generatorPaste a cron expression or build one. Read in plain English, with the next runs in your time zone.
- Convert CSV to JSONEvery column keeps one type, and you can see which one before you download. Leading zeros and long IDs survive.
- Convert CSV to SQLBuilds CREATE TABLE and INSERT statements from a spreadsheet export — and shows you every column type before it does.
- Convert CSV to XMLYour header row names the elements. Headers XML will not accept are rewritten by a rule you can read, on screen, before you download.
- Convert Excel to SQLReads the workbook here in the tab — sheets, shared strings and date formats included — and writes CREATE TABLE and INSERT statements.
- Convert a JavaScript object to JSONParsed, never evaluated. Everything JSON cannot hold is listed with its path — not dropped in silence.
- Convert JSON to CSVNested objects become dot-notation columns. You decide what happens to the arrays — before anything is downloaded.
- Convert JSON to JavaScriptKeys that are not valid identifiers keep their quotes — so the output actually runs. Most converters get this wrong.
- Convert JSON to SQLFlattens nested objects into column names a query can use unquoted, then writes CREATE TABLE and INSERT statements.
- Convert JSON to XMLJSON has no root element and XML has no types. Both gaps are choices someone has to make, and this converter hands them to you instead of guessing.
- Convert JSON to YAMLEvery converter writes country: NO without quotes. Half the YAML readers in the world then read it as false. This one quotes it, and reads its own output back to prove it.
- Convert SQL to CSVLists every table in the file with its row count first, then exports the columns you tick — without uploading the dump.
- Convert SQL to ExcelWrites a real .xlsx workbook where every cell is text, so nineteen-digit IDs and leading zeros arrive intact.
- Convert SQL to JSONReads INSERT statements properly — quoting, escapes and all — and hands back the rows as JSON you can paste into a test.
- Unix timestamp converterPaste a timestamp or an ISO date. UTC, local time and the exact integer — as you type.
- Convert XML to JSONXML and JSON do not have the same data model, so every conversion loses something. This one counts and names all ten kinds instead of dropping them quietly.
- XSD generatorDerive an XML schema from one example document — and read, line by line, which parts were measured and which were guessed.
- XSLT tester and transformerRun an XSL stylesheet against an XML document in this tab. XSLT 1.0, because that is what a browser has.
- Convert YAML to JSONYAML rewrites more of your data than you think. This one counts every key or value it changed, instead of handing back JSON and staying quiet.
Guides
More reading
What belongs in developer tools
These are the tools you reach for when the thing on your clipboard is meant for a machine: an API response that will not parse, a SQL dump you need as JSON, a token you want to read before you trust it, or a regular expression that matches one line too many. Each one works on text you paste or a file you open, and each one runs entirely inside this browser tab. Nothing you paste is sent to a server, which matters more here than almost anywhere else, because a JWT, a connection string or a customer export is exactly the kind of text that should never leave your machine.
The line between this section and text and data tools is drawn by what you are trying to do, not by the file extension. Turning a spreadsheet into CSV for a colleague is office work and lives with the text tools. Turning that same CSV into SQL INSERT statements or JSON for a database is developer work and lives here. Formatters and minifiers for JSON, XML, HTML, CSS, JavaScript and SQL come first, then validators and testers, then encoders, decoders and hash generators, and finally the conversions between structured data formats.
Every tool has its own address, so you can bookmark the one you use and link straight to it from a README, a ticket or a code review comment.