Base64 Encode / Decode
Convert text to Base64 or decode Base64 back to plain text — instantly, entirely in your browser, UTF-8 safe.
Base64 encodes arbitrary bytes as a 64-character printable alphabet, which is why it shows up everywhere text-only transport is required: embedding images in CSS/HTML, encoding email attachments (MIME), Basic Auth headers, and the header/payload segments of a JWT. It is not encryption — anyone can decode it — just a safe way to move binary-ish data through text-only channels.
Type or paste into the box, then choose Encode or Decode. This tool uses the browser's TextEncoder/TextDecoder so multi-byte UTF-8 text (accents, emoji, non-Latin scripts) round-trips correctly, unlike a naive btoa()/atob() call.
Frequently asked questions
Is Base64 the same as encryption?
No. Base64 is a reversible encoding, not encryption — anyone can decode it instantly with no key. Never use it to protect sensitive data.
Why did decoding fail?
The input isn't valid Base64 — it likely contains characters outside the Base64 alphabet or has incorrect padding. Standard Base64 uses A–Z, a–z, 0–9, +, / and = for padding.
Does this handle emoji and accented characters?
Yes — encoding/decoding goes through UTF-8 byte conversion first, so multi-byte characters survive a round trip intact.