Utility guide
Base64: encoding, not encryption
Base64 turns arbitrary binary data into a string built only from letters, digits, +, / and a trailing = for padding — an alphabet safe to put anywhere plain text is expected: an email attachment, a URL, a JSON field, a data URI embedded directly in HTML or CSS. It is not encryption and provides no confidentiality at all: anyone can decode it back with no key, as this tool itself demonstrates.
Where it actually shows up
- Data URIs —
data:image/png;base64,iVBORw0KG...embeds an image directly inside HTML or CSS with no separate file request. - Email attachments (MIME) — email was designed for 7-bit text, so binary attachments are Base64-encoded to survive transport unchanged.
- HTTP Basic Authentication — the
Authorization: Basicheader carriesusername:passwordBase64-encoded, not encrypted (which is exactly why Basic Auth requires HTTPS to be safe at all). - JWTs — a JSON Web Token’s header and payload segments are each Base64URL-encoded JSON, readable by anyone without the signing key (only the signature, the third segment, is what actually needs the key to verify).
Standard vs. URL-safe Base64
Standard Base64 uses + and / as two of its 64 characters — both of which mean something specific inside a URL (+ can be read as a space, / as a path separator), so URL-safe Base64 substitutes - and _ instead, and often drops the = padding entirely since it can be reconstructed from the string’s length. This tool’s decoder accepts either variant automatically.
Why encoding UTF-8 text correctly is trickier than it looks
The browser’s built-in btoa/atob functions only handle Latin-1 (single-byte) text — passing them a string with an emoji or an accented character outside that range throws or silently corrupts it. The standard fix, and what this tool does, is to first convert the text to UTF-8 bytes and Base64-encode those bytes, then reverse the process on decode — the only way to round-trip arbitrary Unicode text correctly.
Frequently asked
Is Base64 a form of encryption or security?
No. It provides zero confidentiality — it is purely a representation change, from binary to text-safe characters. Never use it as a substitute for actual encryption or for hiding a secret.
Why is the Base64 output longer than my original text?
Base64 encodes 3 bytes of input as 4 characters of output — a fixed 33% size increase, the trade-off for an alphabet safe everywhere plain text is.
Does this tool send my data anywhere?
No — encoding and decoding both run in your browser using the same btoa/atob functions built into JavaScript. Nothing is uploaded.
