Base64 Encoder/Decoder

Encode text to Base64 or decode Base64 back to text. Full UTF-8 support, including emojis and non-Latin scripts. Browser-based, nothing uploaded.

infoHow It Works

Encoding

Each group of 3 bytes is split into four 6-bit numbers, each mapped to a printable ASCII character (A-Z, a-z, 0-9, +, /).

Padding

If the input length is not a multiple of 3, one or two "=" characters are appended to the output.

Size

Base64 output is roughly 33% larger than the original data because 3 bytes become 4 characters.

lightbulbTip

Base64 is an encoding, not encryption. It does not provide any security. Never use it to hide sensitive data -- anyone can decode it.

What is the Base64 Encoder/Decoder?

Base64 is an encoding that turns binary data into ASCII text using 64 printable characters (A-Z, a-z, 0-9, +, /). It's how images get embedded in CSS via data URIs, how email attachments travel through SMTP, how the payload of a JWT is shaped, and how anything binary gets safely passed through systems that expect text.

How to use the Base64 Encoder/Decoder

  1. 1

    Paste your text or Base64

    Drop plain text into the left pane to encode, or a Base64 string into the right pane to decode.

  2. 2

    Click Encode or Decode

    The matching button runs the conversion. UTF-8 characters, including emojis and non-Latin scripts, round-trip correctly.

  3. 3

    Copy the result

    Tap the copy icon next to the field you want. The encoded form is ASCII-safe for URLs, JSON, and headers.

  4. 4

    Watch for size growth

    Base64 output is about 33% bigger than the input, since 3 input bytes become 4 output characters. Plan accordingly for large payloads.

Frequently Asked Questions

What is Base64 encoding?

Base64 turns binary data into ASCII text using 64 printable characters (A-Z, a-z, 0-9, +, /). Browsers use it for data: URIs, SMTP uses it for attachments, JWT uses it to ferry headers and payloads through HTTP. Anywhere a system expects text but you have bytes, Base64 is the bridge.

Does this tool support Unicode/UTF-8?

The encoder converts your input to its UTF-8 byte sequence first, then runs Base64 over those bytes. Emojis, Cyrillic, Chinese, Arabic, and combining marks all round-trip without garbling. The decoder reverses the same way.

Is my data safe when using this tool?

Both encoding and decoding run as in-page JavaScript. Open DevTools, switch to the Network tab, and you'll see no outbound request when you click Encode or Decode. Use it for API keys, JWTs, or anything you wouldn't want sitting in a third party's logs.

Related Tools