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.