Base64 Encoder / Decoder
Encode text to Base64 or decode Base64 back to text — UTF-8 safe, with URL-safe output.
How to use Base64 Encoder / Decoder
-
Choose encode or decode
Use the toggle at the top to pick a direction — Encode turns text into Base64, Decode turns Base64 back into text.
-
Type or paste your input
Drop text (to encode) or a Base64 string (to decode) into the box. The result appears instantly below — there’s no button to press.
-
Tweak the options
When encoding, turn on “URL-safe output” if the result needs to go in a URL or filename. When decoding, spacing and line breaks are ignored automatically.
-
Copy, download or chain it
Copy or download the output in a click, or hit “Use result as input” to flip the mode and feed the result straight back in for a quick round-trip check.
Key features
- Live, two-way conversion — encode and decode with a single toggle
- Full UTF-8 support: emoji, accents and non-Latin scripts round-trip cleanly
- URL-safe (base64url) output option with padding stripped
- Forgiving decoder that ignores whitespace and repairs missing padding
- Clear, friendly errors when the input isn’t valid Base64
- One-click copy and download; 100% in-browser, nothing uploaded
About Base64 Encoder / Decoder
A fast, no-nonsense Base64 encoder and decoder that works entirely in your browser. Switch between Encode and Decode, and the result updates live as you type. Encoding is fully Unicode-aware — emoji, accents and non-Latin scripts all round-trip correctly because the text is converted through UTF-8 first. Need Base64 for a URL or filename? Flip on URL-safe output to swap “+/” for “-_” and drop the padding. Decoding is forgiving too: it accepts standard and URL-safe input, ignores stray spaces and line breaks, and fixes missing padding, with a clear message if the input really isn’t valid Base64. Copy or download the result in one click. Nothing is ever uploaded — it’s all local, free, and free of sign-ups and limits.
Last updated 2 June 2026.
Frequently asked questions
- What is Base64 used for?
- Base64 represents binary data using only 64 printable ASCII characters, so it can travel safely through text-only systems. It’s common in data URIs, email attachments (MIME), JSON Web Tokens, HTTP basic auth headers, and anywhere binary needs to be embedded in text.
- Does it handle emoji and accented characters?
- Yes. The encoder converts your text to UTF-8 bytes before encoding, so emoji, accented letters and characters from any language round-trip perfectly — something the browser’s raw btoa() can’t do on its own.
- What does “URL-safe” mean?
- Standard Base64 uses “+” and “/”, which have special meaning in URLs. URL-safe Base64 (base64url) replaces them with “-” and “_” and usually drops the “=” padding, so the value can be dropped into a URL or filename without escaping.
- Why won’t my Base64 decode?
- The most common causes are characters that aren’t part of the Base64 alphabet or a truncated string. This tool ignores spaces and line breaks and restores missing padding, so if it still reports an error, the input is likely incomplete or not actually Base64.
- Is my data sent to a server?
- No. All encoding and decoding happens locally in your browser. Whatever you paste never leaves your device, and the tool keeps working offline once the page has loaded.
- Is Base64 a form of encryption?
- No — it’s encoding, not encryption. Base64 is fully reversible by anyone and provides no security or secrecy. Never use it to protect sensitive information; use real encryption for that.