Base64

Encode text to Base64 or decode Base64 strings back to plain text instantly. Fast, free, and fully client-side — your data never leaves the browser.

A free online Base64 encoder and decoder that converts text to Base64 and back to plain text directly in your browser. Base64 makes binary or non-ASCII data safe to carry as plain text, which is why it shows up in data URLs, JWTs, cookies, email attachments, and config where only ASCII is allowed. Use this tool to encode a string for embedding in a payload, to decode a Base64 value you found in a token or API response so you can read it, or to check whether a suspicious string is valid Base64 and what it contains. All conversion runs locally, so your data is never uploaded.

Common uses

  • Encode a string to embed it in a data: URL or a JSON payload.
  • Decode a Base64 value copied from a JWT, cookie, or API response to read it.
  • Check whether a suspicious string is valid Base64 and what it decodes to.
  • Convert config or credentials that must be stored as ASCII-safe text.
  • Inspect the base64url segments of a token by decoding them individually.

Frequently asked questions

Does Base64 encrypt my data?

No. Base64 is an encoding, not encryption. It makes binary data safe to transmit as text but provides no confidentiality — anyone can decode it.

What happens if I decode invalid Base64?

The decoder reports an error if the input contains characters outside the Base64 alphabet or does not decode to valid UTF-8 text.

What is the difference between Base64 and Base64URL?

Base64URL is a URL-safe variant that replaces the + and / characters with - and _ and usually drops padding, so the value can be used in URLs and JWTs without escaping.

Why is my encoded string longer than the original?

Base64 represents every 3 bytes as 4 ASCII characters, so encoded output is about 33% larger than the input. That size cost is the trade-off for ASCII safety.

Is my data sent to a server?

No. Encoding and decoding run entirely in your browser, so your text never leaves your device.

All processing is local — your data never leaves your browser.