Convert text or Unicode characters into Base64 – the binary-to-text encoding used by email attachments, data URIs and HTTP basic authentication. Encoding is not encryption: anyone can decode Base64 instantly.
Show calculation steps
Processed privately in your browser — nothing you paste is uploaded, logged or stored.
How to use the Base64 Encoder
- Type or paste your text into the input panel, or click "Load sample" to try it.
- Leave "Add = padding" on for standard Base64; turn it off if the receiving system expects unpadded output.
- Turn on "Wrap lines at 76 characters" when the result goes into an email header or a PEM-style block.
- Click "Encode to Base64", then copy the result or download it as a .txt file.
Frequently asked questions
What does Base64 encoding actually do?
It reads your data three bytes at a time and rewrites those 24 bits as four characters drawn from a 64-character alphabet (A-Z, a-z, 0-9, plus and slash). Because every output character is plain ASCII, the result survives channels that would corrupt raw bytes – email bodies, JSON strings, XML documents and URLs.
Why is the encoded text longer than what I typed?
Base64 turns every 3 bytes into 4 characters, so the output is about 33 percent larger, plus padding. The size counter under the output panel shows the exact before-and-after byte counts for your input.
Is Base64 a way to protect data?
No. Base64 has no key and no secret – it is a transport format, and any decoder reverses it instantly. If you need confidentiality, encrypt the data first (with AES, for example) and then Base64-encode the ciphertext if a text channel requires it.
What do the equals signs at the end mean?
They are padding. When the input length is not a multiple of three, the final group is completed with one or two "=" characters so the total length stays a multiple of four. Some systems, especially those using Base64URL, drop the padding entirely.
How is Unicode text such as emoji handled?
The text is first converted to UTF-8 bytes, then those bytes are encoded. That means a single emoji contributes four bytes before encoding, which is why non-ASCII input grows faster than plain ASCII.