Coder
Encode and decode HTML, URL, Base64, JSON, Unicode, Hex, Punycode and Quoted-Printable, verify JWT signatures, build Data URIs — all in your browser.
Ten encode/decode tools in one place
Web development throws the same small chores at you again and again: escape a chunk of HTML so the angle brackets stay as text. Encode a query parameter correctly for a URL. Figure out what's inside a Base64 string. Put a domain with an umlaut into your DNS configuration. Or take a JWT and see what its payload claims — and whether the signature actually matches your key. For each of these there are one-liners, command-line tricks, or sketchy online converters — and with tokens, that last option is risky.
The Coder bundles these chores into one tool with ten tabs. Pick the tab, paste your text on the left, click Encode or Decode — the result appears on the right, and your input stays untouched. If you prefer, switch on live mode and watch the result update as you type. Everything happens right in your browser: no account, no upload, no installation.
The tool is built for everyone who works with code and data: developers who translate between HTML, URLs, Base64, and Unicode escapes all day; backend and API people who want to inspect a JWT and check it against a secret or public key without handing it to someone else's server; admins dealing with internationalized domains or raw e-mail source; and anyone who needs to quickly embed an image as a Data URI in their CSS or HTML.
The codecs at a glance
The interface is in English — the tabs are named exactly as shown here in parentheses. Eight tabs share one input and one output field; JWT and Data URI have views of their own. The ten functions fall into three groups:
Markup and web
- HTML entities (HTML tab) — turns
&,<, and>into entities, optionally quotes as well (",', on by default) and every non-ASCII character (ä). The decoder understands all named and numeric entities, as long as they end with a semicolon. - URL encoding (URL tab) — percent-encoding in three modes: for single values (Component), form style with
+for spaces (Form), or for a whole URL (Full URL). If the text contains a query string, the tool also lists its parameters in a table. - Punycode (Punycode tab) — translates internationalized domain names:
bücher.de↔xn--bcher-kva.de. Works on domains, full URLs, and e-mail addresses, one per line.
Binary and transport
- Base64 (Base64 tab) — UTF-8 safe, optionally URL-safe (
-_without padding) and wrapped at 76 characters for MIME. Decoding also accepts URL-safe Base64, missing padding, line breaks, and complete Data URIs. Binary results show up as a hex dump with a download button and image preview; whole files can be encoded too. - Hex (Hex tab) — text as UTF-8 bytes in hexadecimal and back, with a choice of separator and upper case.
- Quoted-Printable (Quoted-Printable tab) — the encoding you find in e-mail source, per RFC 2045, UTF-8, lines up to 76 characters.
- Data URI (Data URI tab) — turns any file, picked or dragged in, into a
data:URI, optionally ready-made as a CSS rule,<img>tag, Markdown image, or bare Base64. The way back turns a pasted Data URI into a file again.
Data, characters, and tokens
- JSON string (JSON tab) — escapes text for use inside a JSON string (quotes, backslashes, line breaks, every control character) and reverses it.
- Unicode escapes (Unicode tab) — writes characters as
\u00E4(JavaScript, JSON, Java),\u{E4}(ES2015),\E4(CSS),ä(HTML), or code pointsU+00E4. The decoder recognizes the formats on its own (CSS escapes only with the CSS format selected). - JWT decoder and verifier (JWT tab) — splits a JSON Web Token into header, payload, and signature as soon as you paste it, explains the claims in plain language, flags whether the token has expired or isn't valid yet, and verifies the signature with a secret, a PEM public key, a JWK, or a JWKS. It does not create tokens. Details in the manual.
Everything runs in the browser
The Coder is a pure client-side tool. The server only delivers the page and the editor; the actual encoding and decoding — including JWT signature verification, which uses the browser's Web Crypto API — is done by JavaScript locally in your browser. There is no server-side processing of your input.
That's not just fast — it's a real privacy advantage: a JWT together with its secret, a file you embed as a Data URI, a string you Base64-encode — none of it leaves your machine. Even locally, the Coder only stores your input if you explicitly turn that on; JWTs are never stored.
Try it now
→ Open the Coder — pick a tab, paste your text, click Encode or Decode. No account, free, right in the browser.
Related JPKCom tools
When the Coder hits its limits, these tools take over:
- Convertor PRO — converts text between 13 encodings (HTML entities, Unicode, UTF-8, hex, and more) and data between JSON, YAML, TOML, XML, and INI. The bigger sibling for format conversions beyond plain encode/decode.
- JSON Editor — format, validate, and transform JSON. Ideal for taking a decoded JWT payload or an unescaped JSON string further.
- Hash tool — hashes, checksums, and HMAC, plus password hashes with bcrypt, Argon2id, and PBKDF2 — the security side next to the JWT tab.
- Generator — generates passwords, keys, and TOTP codes, for instance a strong secret for HMAC-signed tokens.
There's more on the subpages: the manual with every tab in detail, hands-on examples, and a collection of tips & tricks.