Encode / Decode
URL, Base64, and HTML entity encoding, both directions, computed locally.
By opening this website or using its tools, you agree to our Terms and Privacy Policy.
Your file never leaves your browser during processing
How it works
To encode or decode text, pick URL, Base64, or HTML entities above, choose a direction, and type or paste your text — the result updates instantly and is never sent anywhere.
These are three unrelated encodings that happen to share the same "turn text into a safer or different text representation" shape. URL encoding (percent-encoding) escapes characters that aren’t safe inside a URL component — spaces, &, ?, and others — by replacing them with a % followed by their hex byte value. Base64 does something different: it re-encodes arbitrary bytes, including binary data, as plain ASCII letters, digits, and a couple of symbols, which is why it shows up in data URIs, email attachments, and API tokens.
HTML entity encoding replaces characters that have special meaning in HTML — <, >, &, and quotes — with named or numeric escapes like < so they display as literal text instead of being interpreted as markup. This tool builds and reads those entities using the browser’s own HTML parser rather than a hand-maintained lookup table, so it handles every entity a real browser recognizes, not just the common handful.
The swap button feeds the current result back in as input with the direction flipped, which is a fast way to round-trip check that decode(encode(x)) really does get you back to x.
FAQ
Is my text sent anywhere to encode or decode it?
No. Everything happens in your browser via built-in JavaScript functions and, for HTML entities, the browser’s own HTML parser. Nothing is transmitted.
What’s the difference between URL encoding and Base64?
URL encoding escapes specific unsafe characters for use inside a URL. Base64 re-encodes any bytes — including binary data — as plain ASCII text, for contexts that can’t handle raw bytes at all.
Why did decoding fail with an error?
The input isn’t valid for the selected scheme — for example, Base64 decode requires properly padded Base64 characters, and URL decode requires valid percent-encoded sequences.