Base64 Encoder & Decoder

Encode text or a file to Base64, or decode Base64 back to text. Everything runs in your browser — files and text never touch a server.

About this tool
Text is converted to raw bytes (UTF-8), then those bytes are mapped to Base64's 64-character alphabet (A–Z, a–z, 0–9, +, /), with = padding as needed. Decoding reverses the process.

Handles full Unicode correctly (accented characters, emoji, non-Latin scripts) — not just plain ASCII.

1Worked example: the text hello encodes to aGVsbG8=. Decoding aGVsbG8= returns hello.

Reference standard: RFC 4648 — the Base64 Data Encoding.
Common questions

Is Base64 encryption?

No. Base64 is an encoding, not encryption — it has no secret key and anyone can decode it instantly. It's used to safely represent binary data as text (e.g. embedding an image in HTML or JSON), not to hide or protect data.

Why does encoded output end with = or ==?

Base64 processes input 3 bytes at a time into 4 characters. When the input length isn't a multiple of 3, = padding characters fill the remainder so the output length stays a multiple of 4.

Does this work with files, not just text?

Yes — drag any file onto the drop zone (or use browse) to get its Base64 representation, useful for embedding small images or documents as data URIs. Decoding always produces text output, since arbitrary binary output isn't something a browser can safely display as a string.