Encode or decode Base64 and URL-encoded strings instantly, right in your browser.
Result will appear here.
Base64 encoding turns arbitrary data (text, binary) into a string of only letters, digits, and a few symbols — safe to embed in places that don't handle raw bytes well, like JSON payloads, data URIs, or Basic Auth headers. URL encoding (percent-encoding) instead escapes characters that aren't safe in a URL, like spaces and ampersands, replacing them with %XX sequences.
Both are everyday necessities when working with APIs, URLs, and web data — not encryption, just a reversible format conversion.
Base64 encoding maps every 3 bytes of input into 4 output characters from a 64-character alphabet (A-Z, a-z, 0-9, +, /). This tool also handles full UTF-8 text correctly (accents, emoji), which the browser's raw btoa()/atob() functions don't do on their own.
URL encoding replaces any character outside a small safe set with a % followed by its hex byte value — so a space becomes %20, an & becomes %26, and so on.
Encoding "Hello, World!" in Base64:
No — Base64 is a reversible encoding format, not encryption. Anyone can decode it instantly; it provides no security or confidentiality.
Those are padding characters, added when the input length isn't a multiple of 3 bytes, so the output aligns to a multiple of 4 characters.
Use URL encoding for values going into a URL (query parameters, path segments). Use Base64 when you need to safely embed binary or arbitrary text somewhere that only accepts a limited character set, like a data URI or an HTTP header.
Yes — both modes here correctly round-trip full UTF-8 text, including emoji and accented characters.
No — all encoding and decoding happens entirely in your browser.