Home / Base64 & URL Encoder/Decoder

Base64 & URL Encoder / Decoder

Encode or decode text as Base64 or URL (percent) encoding, entirely in your browser, UTF-8 safe, nothing sent anywhere. Not encryption. See the FAQ below if you need that instead.

100% client-side UTF-8 safe Not encryption, reversible by design

Encoder/decoder tool

Enter text above and click Encode or Decode.

How this tool works

Base64 encoding uses the browser's native btoa()/atob() functions, wrapped with proper UTF-8 byte handling so accented characters, non-Latin scripts, and emoji round-trip correctly. Naive use of btoa() alone breaks on anything outside the ASCII range. URL encoding uses encodeURIComponent()/decodeURIComponent(), the standard percent-encoding used for safely embedding text in a URL path, query string, or fragment.

Neither of these is encryption. Both are fully reversible with no key or secret. Anyone, including you, can decode the output instantly. If you need to actually keep something secret, use the Encryption Key panel on the main generator instead.

Sources:

Frequently asked questions

Is Base64 encoding the same as encryption?

No. Base64 is a reversible encoding, not encryption. Anyone can decode it instantly with no key or secret required. It's meant for safely representing binary data as text (in JSON, config files, or email attachments), not for hiding information from anyone. If you need to keep something secret, use the Encryption Key panel on the main generator instead.

Why does URL encoding turn spaces into %20 (or sometimes +)?

Certain characters, like spaces, ampersands, and question marks, have special meaning in a URL, so they need to be percent-encoded to appear literally in a path or query string. %20 is the standard percent-encoding for a space; some older systems use + instead specifically inside query strings, which is a narrower legacy convention, not the general URL-encoding standard.