Base64 Encoder / Decoder

Convert text or files to and from Base64 — Unicode-safe, with drag-and-drop file support.

Base64 Encoder / Decoder


Drop a file here or click to choose

🔒 Nothing you enter is sent anywhere or stored. All processing happens in your browser.

How it works

Base64 is an encoding that represents any binary or text data using only 64 safe ASCII characters (A–Z, a–z, 0–9, + and /). It's used to embed images in CSS or HTML, send binary data through text-only channels like email, and store small files inside JSON or config.

The text encoder here is Unicode-safe: it converts your string to UTF-8 before encoding, so emoji and accented characters survive a round trip that naive Base64 would corrupt. Decoding reverses the process and reports a clear error if the input isn't valid Base64.

The file section reads a dropped or chosen file with the browser's FileReader and returns a full data URL (like data:image/png;base64,…) that you can paste directly into an <img src> or stylesheet. Files are read locally and never uploaded. Base64 increases size by about a third, so it's best for small assets rather than large media.

Examples

Encode "Hello 👋"SGVsbG8g8J+Riw== (Unicode-safe).
Decode U29sdmVkSolved
Drop a small PNG → get a data:image/png;base64,… URL for inline use.

Frequently asked questions

Is Base64 encryption?
No. Base64 is reversible encoding, not encryption — anyone can decode it. Never use it to hide passwords or secrets; it only makes data text-safe.
Why does encoding add size?
Base64 represents every 3 bytes as 4 characters, so encoded data is roughly 33% larger than the original. That's the trade-off for text safety.
Does it handle emoji and non-English text?
Yes. Text is converted to UTF-8 first, so Unicode characters encode and decode correctly instead of being mangled.
Are my files uploaded?
No. Files are read in your browser with FileReader and turned into a data URL locally. Nothing is sent to a server.