64 symbols · RFC 4648 · ~33% overhead

Base64 converter

The workhorse of binary-to-text encoding: A–Z a–z 0–9 + / with = padding. Used in email/MIME, data URIs, JWTs, and virtually every web API. Also includes the URL-safe variant (-_ instead of +/).

0 chars
encodes to
or decode
0 chars

How to use this tool

  1. Type or paste text into the Text / File → Base64 box — the encoding appears instantly in Base64 output.
  2. Click Load File or drag & drop a file to encode its raw bytes — handy for building data: URIs.
  3. Click Copy result to grab the encoded string (used in data URIs, JWTs, and MIME email).
  4. To decode, paste a Base64 string into Base64 → Text — URL-safe -/_ input is also accepted.
  5. The symbol ribbon lights up to show which of the 64 characters your data uses.
  6. Use Clear any time to reset a box.

Why this tool is helpful

Email & MIME attachments

Binary attachments and inline images in email are sent as Base64.

Data URIs & inline images

Embed files directly in HTML/CSS using data:image/png;base64,… — encode any file to build them.

JWT payloads

JWT header and payload segments are Base64URL. You might also like the JWT decoder better.

Web APIs & JSON

The standard way to carry binary data inside text-only JSON payloads.

Debug the web

See exactly what is inside the Base64 you find in URLs, cookies, and network traffic.

Stay private

Everything runs in your browser. Nothing is uploaded, logged, or sent to a server.

FAQ

What alphabet does Base64 use?

A–Z a–z 0–9 + / with = padding — the RFC 4648 standard alphabet.

What is the URL-safe variant?

It swaps + and / for - and _ so strings survive URLs. This tool accepts both when decoding.

How much overhead does it add?

About 33% — every 3 input bytes become 4 output characters.

What does the = padding mean?

It pads the final block to a full group of 4 characters when the input is not a multiple of 3 bytes.

Is encoding the same as encryption?

No. Base64 is fully reversible and offers no security — it is a representation, not protection.

Can it handle Unicode, like emoji?

Yes. Text is encoded as UTF-8 first, then converted to Base64.

Can I encode a file (image, PDF, etc.)?

Yes. Click Load File or drag & drop a file onto the input panel. The file's raw bytes are read locally and encoded — the same technique behind data:image/...;base64,… URIs.

Does any of my data leave my browser?

Never. All conversion happens locally in JavaScript.