How Base64 encoding works
Base64 reads the input as bytes, splits them into 6-bit groups and maps each group to one of 64 printable characters. Three input bytes become four output characters, so encoded data is about 33% larger than the original. When the input length is not a multiple of three, one or two = characters pad the final block. That is why Calculorium (11 bytes) produces Q2FsY3Vsb3JpdW0= with a single pad character.
Four output characters per three input bytes means a 3 KB file becomes roughly 4 KB of text.
How to use this encoder
Type or paste your text and read the Base64 result below. Text is converted to UTF-8 bytes first via btoa(unescape(encodeURIComponent(text))), so non-ASCII characters encode correctly rather than throwing an error. To reverse the process, use the Base64 decoder.
MIME email wraps Base64 at 76 characters per line, while JSON and data URIs expect one unbroken string.
Where Base64 is used
Typical uses include embedding small images as data: URIs in CSS and HTML, carrying binary attachments inside email (MIME), storing credentials in HTTP Basic auth headers, and packing binary blobs into JSON fields.
Base64 is an encoding, not encryption - anyone can decode it in a second, so never treat it as a security measure. For a genuine strength measure, see the password entropy calculator.
In URLs and filenames the standard + and / characters need escaping. The URL-safe variant swaps them for - and _ - convert manually after encoding, or run the result through the URL encoder.
Frequently asked questions
- What is Calculorium in Base64?
- It is Q2FsY3Vsb3JpdW0=, an 11-byte input producing 16 characters including one padding sign.
- Why does the output end with an equals sign?
- The = characters are padding added when the input length is not an exact multiple of three bytes.
- Does it handle emoji and accented characters?
- Yes. The text is converted to UTF-8 bytes before encoding, so any Unicode character works.
- Is Base64 secure?
- No. It is a reversible encoding designed for safe transport, not encryption. Anyone can decode it instantly.
- Does the text I encode leave my browser?
- No. Encoding runs entirely in your browser with JavaScript, so nothing you type or paste is uploaded, logged or stored on a server. That makes it safe to encode config values or sample data without sending them anywhere.