Converts text between its plain form and three encodings very common on the web —URL (percent-encoding), Base64 and HTML entities— and also the other way around. Useful to build URL parameters, embed data in JSON/XML or escape text so it doesn't break the HTML. Everything happens in your browser: nothing is uploaded to any server.
1. Pick the direction at the top: Encode or Decode.
2. Type or paste your text into "Input text".
3. The three results —URL, Base64 and HTML— appear instantly and recompute as you type.
4. Press the Copy button on the row you need.
5. Switch between Encode and Decode with the toggle at the top without clearing the text.
The toggle at the top decides what the tool does with your text:
• Encode — takes your plain text and transforms it into each format: the URL row shows the percent-encoding, the Base64 row its Base64 and the HTML row the text with entities.
• Decode — does the opposite: reads your text as already-encoded URL, Base64 or HTML and turns it back into plain text.
All three fields are computed at once; use the one you need. If a field can't decode the input (for example, it's not valid Base64 or the % sequence is malformed) it shows —.
Replaces characters that aren't safe in a URL with % followed by their UTF-8 byte code. It's required in query string parameters.
• Encode: correo=me@x.com&t=1 → correo%3Dme%40x.com%26t%3D1 (the = becomes %3D, the @ becomes %40, the & becomes %26).
• A space becomes %20 and accented letters become several bytes: á → %C3%A1.
• Decode does the reverse: hola%20mundo → hola mundo.
Represents any text (treated as UTF-8 bytes) using only 64 printable characters (A–Z a–z 0–9 + /) and = as padding. It's used to embed binary data in places that only accept text, like JSON or XML.
• Encode: Hola → SG9sYQ==. With accents: café → Y2Fmw6k= (the é is two UTF-8 bytes).
• Decode: SG9sYQ== → Hola. If the text isn't valid Base64, the row shows —.
• It uses the standard alphabet (+ and /), not the "URL-safe" variant.
Converts characters with special meaning in HTML into their entities, so the browser shows them as text instead of interpreting them as markup (this avoids breaking the page and protects against XSS).
• Encode escapes five characters: &→&, <→<, >→>, "→" and '→'. Example: <b>Hola</b> → <b>Hola</b>.
• Decode does the reverse and also recognizes (space), © (©), ® (®), ™ (™) and decimal numeric entities A (A).
• Base64 is NOT encryption: it hides and protects nothing, anyone can revert it instantly. Don't use it as a security measure or to "hide" passwords.
• Encoding and decoding is reversible and lossless: it doesn't change the content, only its representation.
• When decoding, a field shows — when the input isn't valid for that format (corrupt Base64 or an incomplete % sequence).
• The HTML decoder recognizes the basic entities plus © ® ™ and the decimal numeric ones; it doesn't cover every existing named entity.