Base64 Encoder/Decoder
Paste any text to get Base64, or paste Base64 to decode it back. Works with Unicode/UTF-8 so emojis and special characters are fine. Useful for APIs, email attachments, or anything where you need to pass binary data as text.
How to use
- Paste the text you want to encode, or the Base64 string you want to decode.
- Click Encode or Decode and the result appears immediately.
- Use the Copy button to grab the output.
Related tools:
Base64 encoding converts binary data or text into a string of 64 safe ASCII characters (A-Z, a-z, 0-9, +, /). It is not encryption - anyone can decode it instantly. Its purpose is encoding: making binary data safe to transmit over systems that only handle text, like email (MIME attachments), JSON payloads, or embedding images in CSS as data URIs.
You see Base64 in authentication headers (HTTP Basic Auth sends credentials as base64-encoded username:password), JWT tokens (the header and payload parts are Base64URL encoded), and inline images in HTML. Decoding a Base64 string is a common debugging step when inspecting network traffic or JWT token contents.
Frequently Asked Questions
Is Base64 the same as encryption?
No. Base64 is encoding, not encryption. Anyone who sees a Base64 string can decode it with any Base64 decoder in seconds. Never use Base64 to hide sensitive data - it provides zero security.
What is Base64URL and how is it different?
Base64URL replaces + with - and / with _ to make the encoded string safe in URLs and filenames. Regular Base64 uses + and / which have special meaning in URLs. JWTs use Base64URL encoding for their header and payload sections.
Why does Base64 output end with == sometimes?
Base64 encodes 3 bytes into 4 characters. When the input length is not divisible by 3, padding characters (=) are added to make the output a multiple of 4. One = means 1 padding byte was added; == means 2.