Base64 Encoder & Decoder
Type text or a Base64 string above, then click a button to convert
Encode text to Base64 or decode Base64 strings free online. Supports UTF-8 (emoji & multilingual), URL-safe variant and MIME line wrap. 100% private — runs in your browser.
What is Base64?
Base64 is an encoding that represents binary data using 64 printable ASCII characters, commonly used to transmit data through text-only systems like email, URLs, JSON and HTTP requests. It is not encryption — anyone can decode it, so never use it to hide passwords or tokens.
Tips
UTF-8 Correctness
This tool encodes text as UTF-8 bytes before converting to Base64, so emoji, accented characters, and CJK scripts all round-trip correctly with no garbled output.
URL-safe variant
The + and / in standard Base64 get escaped in URLs. JWT and OAuth tokens use a variant with - and _. Enable this when the output will live in a URL or cookie.
Privacy
All encoding and decoding happens in your browser via btoa / atob and TextEncoder / TextDecoder. Nothing is sent to a server — safe for credentials and sensitive text.
Common Use Cases
API Credentials
Encode keys and tokens for the HTTP Authorization header
Data URIs
Encode small images as data: URIs to embed in HTML/CSS
JWT Inspect
Decode header and payload segments to view token contents
FAQ
Is Base64 encryption?
No. Base64 is encoding, not encryption — the result can be decoded by anyone instantly. Never use it to hide passwords, API keys, or any sensitive value.
Why does direct btoa throw errors?
The browser's built-in btoa only supports Latin-1 characters and throws on emoji or non-Latin scripts. This tool first converts text to UTF-8 bytes via TextEncoder, so any Unicode works correctly.
Is my data sent to your server?
No. All conversion happens in your browser — open DevTools → Network and you'll see zero requests. Nothing is logged or stored.