Base64 Encode / Decode

Encode text to Base64 or decode Base64 back to text. Unicode-safe, runs entirely in your browser.

Base64 encodes binary data as ASCII text using 64 characters (A–Z, a–z, 0–9, +, /). You'll see it in JWT tokens, data URLs (data:image/png;base64,…), email attachments, and small assets embedded in source code.

This encoder handles full Unicode correctly, so emoji, Czech diacritics, and any non-Latin characters round-trip without corruption — a common pitfall when rolling your own Base64.

Everything runs locally in your browser. Large inputs (multi-MB pastes, files up to ~100 MB) are processed in the background so the page stays responsive.

Example

Input

Hello, 世界 👋

Output

SGVsbG8sIOS4lueVjCDwn5GL

Frequently asked questions

Why does my Czech (or emoji) text come out garbled in other Base64 tools?

Many quick-and-dirty encoders treat the input as raw bytes and choke on Unicode. This converter encodes the text as UTF-8 first, so accented characters, CJK, and emoji round-trip cleanly in both directions.

What about URL-safe Base64?

Toggle 'URL-safe' to use the - and _ alphabet (RFC 4648) instead of + and /, with padding stripped. This is the variant used by JWTs and most URL-bearing tokens.

Will it freeze on big files?

No. Inputs above a few hundred KB are processed in the background in small chunks, so the page stays responsive even on 100+ MB inputs.

Related tools