URL-safe Base64 encoder

Encode and decode URL-safe Base64, which uses - and _ instead of + and /. Works with emoji and every language, not just English letters.

  • Runs in your browser
  • Nothing is uploaded
  • Free, no sign-up

By using this, you agree to our Terms and Privacy Policy.

Why links need their own Base64

Normal Base64 uses +, / and =, which all have special meanings in a URL. A + can turn into a space, and a / splits the path. URL-safe Base64 (RFC 4648) uses - and _ instead, and usually leaves off the = at the end.

It is used in login tokens (JWTs), in data inside links, and anywhere text has to survive being pasted into a browser.

Works with any language and emoji

The browser's built-in btoa fails on accented letters and emoji, with the error "The string to be encoded contains characters outside of the Latin1 range". This tool handles any text.

When decoding, if the result is not readable text, we tell you so instead of showing garbled characters.

Base64 is not encryption

It only changes how text is written. Anyone with the encoded text can read it. It hides nothing.