Base64 Encoder
Convert any text to Base64 instantly. Full UTF-8 support — accented letters, CJK text and emoji all encode correctly — with an optional URL-safe alphabet.
Uses - and _ instead of + and / and drops the = padding. Safe inside URLs, file names and JWT segments.
0 chars · 0 bytes · 0 lines
Result
0 chars · 0 bytes · 0 lines
When you need Base64 encoding
Base64 repacks binary data into 64 printable ASCII characters, so content that would break in a text-only channel — JSON, XML, email, a URL — survives the trip. Every 3 bytes become 4 characters, which is why Base64 output is about 33% larger than the input.
Typical uses are Data URLs that embed small images in CSS or HTML, HTTP Basic Authentication headers, JWT segments and MIME email attachments. When the result must live inside a URL or file name, switch on the URL-safe alphabet to replace + and / with - and _.
What this tool handles
Unicode done right
Text is converted to UTF-8 bytes before encoding, so 中文, café and 🔒 round-trip correctly instead of throwing an error.
Forgiving decoder
Line breaks, stray whitespace, missing = padding and the URL-safe alphabet are all accepted without any clean-up on your side.
Nothing leaves the tab
Encoding runs in JavaScript on your device. Tokens, credentials and payloads are never sent anywhere.
Frequently asked questions
How much larger does Base64 make my data?
Exactly 4/3 of the original size, rounded up to a multiple of 4 characters with = padding. 100 bytes become 136 characters.
Can I encode Chinese text or emoji?
Yes. The text is converted to UTF-8 bytes before encoding, so any character works — unlike tools that call btoa() directly and throw on non-Latin-1 input.
Is Base64 a form of encryption?
No, it is only an encoding and can be reversed by anyone in seconds. Use it for transport, never to protect secrets.
Standard or URL-safe alphabet?
Choose URL-safe when the output goes into a URL, query parameter, file name or JWT. Otherwise the standard alphabet with = padding is the common default.