Base64
Base64 Studio
Decode and encode, byte for byte.
About Base64 encoding
Base64 turns arbitrary binary data into a string built only from letters, digits, +, /, and = padding. It doesn't compress or encrypt anything — it re-represents bytes so they survive systems that only expect plain text, which expands the size by about a third.
Base64 has one small variation worth knowing: the standard alphabet uses + and /, both of which are unsafe inside a URL or filename, so a URL-safe variant called Base64URL swaps them for - and _ and usually drops the trailing = padding. This tool always produces standard Base64. The text-encoding selector above controls how your plain text is turned into bytes before encoding — UTF-8, Windows-1252, and so on — not which Base64 alphabet is used; that stays the RFC 4648 standard regardless of which encoding you pick.
Where you'll run into it
- Embedding images directly in CSS or HTML via data: URIs
- Attaching binary files to email (MIME)
- Storing binary blobs inside JSON, XML, or other text-only formats
- The header and payload segments of a JWT
Frequently asked
Is Base64 encryption?
No. Anyone can decode it instantly — it provides no confidentiality. Use real encryption if you need to protect data.
Why is the output longer than the input?
Base64 represents every 3 bytes of input as 4 characters, so encoded output is roughly 33% larger.
Is anything I paste here stored?
No. Conversion happens on the server for that one request only; nothing is logged or kept afterward.
What's the difference between Base64 and Base64URL?
Base64URL swaps two characters — + becomes -, / becomes _ — and usually drops the trailing = padding, because +, /, and = all have special meaning inside a URL. JWTs and many web APIs use Base64URL for exactly that reason. If you need the URL-safe variant, take this tool's output and replace those two characters and strip any trailing =