Base64 Encoder / Decoder
Round-trip text ↔ Base64. Handles Unicode. Nothing is uploaded.
How Base64 Encoder / Decoder works
Drop plain text (to encode) or a Base64 string (to decode) into the input box. Everything runs live.
Toggle between Text → Base64 and Base64 → Text. Unicode-safe via TextEncoder — emoji and non-Latin text round-trip cleanly.
One-click copy to clipboard. No character limit, no upload — the transformation happens locally in your browser.
Frequently asked
Is my input sent to a server?+
No. Every keystroke is transformed locally via built-in browser APIs. Close the tab and it's gone.
Does it handle Unicode / emoji?+
Yes — we encode via TextEncoder → base64 rather than btoa alone, which fixes the classic 'InvalidCharacterError' on non-ASCII strings.
What Base64 variant is used?+
Standard RFC 4648 Base64 (A–Z, a–z, 0–9, +, /) with = padding. Use URL-safe encoding by replacing +/= with -_ manually if needed.