Base64 Decode and Encode

Online Base64 decoder and encoder — convert text or files to and from Base64.

Runs 100% in your browser — your input is never uploaded.

Online Base64 decode and encode — convert to Base64 or decode to human-readable text (UTF-8). Nothing is uploaded.

UTF-8 safe — multibyte characters and emoji round-trip correctly.
Advertisement

About Base64 Decode and Encode

Free online Base64 decode and encode tool. Decode Base64 to human-readable text, encode text or files into Base64, with correct UTF-8 handling and clear errors for invalid input. Runs 100% in your browser — nothing is uploaded.

Base64 Decode and Encode is a simple online tool that does exactly what it says: decode from Base64 encoding as well as encode into it. Paste text to convert to Base64, or paste Base64 to decode it into a human-readable UTF-8 string — all in your browser.

Base64 turns arbitrary bytes into a string of 64 printable characters (A-Z, a-z, 0-9, + and /), which is why it shows up in email attachments, data: URLs, JWT segments, and Basic Auth headers. A common bug when encoding text is treating each character as one byte; that breaks emoji and most non-English text. This tool encodes through TextEncoder/TextDecoder rather than raw btoa/atob, so accented characters, CJK text, and emoji round-trip correctly.

You can also encode files to Base64 or decode Base64 payloads meant as text. File input is read as raw bytes locally — appropriate for images, PDFs, or any binary format — and is never uploaded.

Frequently asked questions

Why does decoding sometimes fail with 'invalid Base64'?
Base64 has a strict alphabet and padding rules: it only uses A-Z, a-z, 0-9, + and /, and its length (ignoring whitespace) must be a multiple of 4, padded with = at the end if needed. If you paste a URL-safe Base64 variant (which uses - and _ instead of + and /), a truncated string, or plain text that isn't Base64 at all, decoding will fail with an explanation rather than silently returning garbage.
Will this break on emoji or non-English text?
No — encoding goes through UTF-8 byte encoding first, so multibyte characters like emoji, accented letters, and CJK text encode and decode correctly. This is a common failure point in quick btoa()/atob() based tools that this one specifically avoids.
Can I Base64-encode a whole file, not just text?
Yes — switch to Encode mode and use "Encode a file instead" to pick any file from your device. It's read as raw bytes in your browser and encoded directly; the file itself is never uploaded anywhere.
Is this only a Base64 decoder?
No. SparkJSON’s tool is a Base64 decode and encode utility — flip the mode to encode text/files into Base64 or decode Base64 back to text.