A privacy-first beautifier
for developers.
convert2 formats and compares JSON, XML, HTML, CSS, SQL, YAML, URL, JWT and Base64 — entirely inside your browser. Paste anywhere, share a link, keep your data local.
What convert2 is
convert2.app is a small, fast toolkit for the text engineers push through their terminals every day: API responses, config files, SQL queries, JWTs from staging. It takes one-line minified input and returns clean, indented output. It also compares two versions and decodes common encodings.
Every byte stays in your browser. There is no backend parser, no cloud log of what you paste. The only external calls are the stylesheet (Google Fonts) and three tiny libraries pulled once from a public CDN (sql-formatter, diff, lz-string). Your data never hits our server — you can verify this in DevTools → Network at any time.
What you can do with it
- Beautify — JSON, XML, HTML, CSS, SQL and YAML into properly indented output with syntax highlighting.
- Minify — strip JSON whitespace when you need a smaller payload.
- Decode — JWT tokens (with expiry converted to ISO-8601), Base64 strings, URL-encoded values.
- Parse URLs into protocol, host, path and query parameters, presented as JSON.
- Convert YAML to JSON — works for Kubernetes manifests, GitHub Actions workflows, docker-compose.
- Diff two versions side-by-side. Auto-detects the format and pretty-prints both sides first, so a minified-vs-pretty pair still shows a semantic diff, not whitespace noise.
Why it's different from the older sites
Most online beautifiers were written when uploading a JSON payload to a random server was still acceptable. That's no longer the case — teams need to know their production data doesn't leak through a browser tab. convert2 was built with that assumption.
- Local processing: safe for tokens, customer data, and queries that touch production.
- Deep linking: the
↗ SHAREbutton generates a URL whose hash contains the compressed state. Open the link anywhere, get the same view. The#fragment is never sent to a server — it's resolved entirely in the recipient's browser. - Local history: the last ten beautifies and the last ten comparisons live in
localStorageand show as colored tabs at the bottom. Click one to restore. Nothing syncs anywhere. - Offline-capable: once the page loads, you can work without a network. (The SQL formatter and diff library are the only first-load dependencies.)
Keyboard shortcuts
⌘ / Ctrl + Enter— force a re-format (handy after pasting)⌘ / Ctrl + K— copy the outputTabinside the input inserts two spaces instead of jumping focusEsccloses modals and popovers
Frequently asked questions
Is my data really private?
Yes. Every transformation runs in JavaScript on your machine. Open DevTools, switch to the Network tab, and paste any input — you'll see zero requests go out. The only network activity is the initial page load and the three CDN libraries.
Does convert2 cost anything?
No. No account, no paywall, no rate limits. Processing is your CPU, bandwidth is your network. We pay for a small static host and a domain.
Can I use it offline?
After the first load, yes. JSON, XML, HTML, CSS, YAML, URL, JWT and Base64 all work without a network. SQL formatting and the diff viewer need their libraries to be cached (the browser does this automatically) or they fall back gracefully.
What happens if my input is invalid?
The output pane shows the parser's error message with the offending line and column. The status bar reads "INVALID" and the corresponding dot turns red. Fix the error in the input, the output re-runs automatically.
How big an input can I paste?
Tested up to 10 MB of JSON without issue. The browser is the limit. Very large files are more comfortable on desktop — on phones the device memory tops out earlier.
Can I share a formatted snippet with a teammate?
Yes, use the ↗ SHARE button in the top bar. It copies a URL with the current mode, format and input encoded into the fragment (the part after #). The recipient opens it and sees the same view. The compressed encoding keeps links reasonably short — a 40 KB JSON becomes about an 8 KB URL.