Base64 Encoder and Decoder
Encode text to Base64 or decode Base64 back to text, with full support for accents and emojis. Everything in your browser.
How it works
Base64 is a way of representing any data using only 64 safe characters: letters (upper and lowercase), numbers and a few symbols. The idea is to turn information β which may contain problematic characters β into plain text that travels without getting corrupted through systems built to handle text only.
When encoding, the tool takes your text, converts it to bytes and rewrites those bytes in the Base64 alphabet. When decoding, it does the reverse, recovering the original text. That's why encoded output tends to look scrambled and slightly larger than the input β Base64 doesn't compress or encrypt, it only rewrites.
This version correctly handles accents and emojis using UTF-8 encoding. That avoids the classic problem of special characters "breaking" in simpler tools. All processing happens in your browser, with nothing sent over the network.
When to use
Base64 shows up a lot in web development. It's how small images are embedded directly in HTML or CSS (data URLs), how certain tokens and credentials are transported, and how attachments travel inside emails.
In day-to-day coding, the need is usually specific: decoding a Base64 snippet that appeared in a config, an authentication header or an API response, to see what's inside. Or the reverse β encoding text to paste into a field that expects that format. Having both directions on the same screen covers both cases without installing anything.
Practical examples
Decoding a token
You receive something like SGVsbG8gV29ybGQ= and want to know what it is. Pasting it and clicking decode reveals Hello World. That's how you quickly peek at the content of a Base64 snippet.
Text with accents
Encoding "OlΓ‘, world!" produces a Base64 string that, when decoded, comes back exactly as "OlΓ‘, world!" β with the accent intact. That's UTF-8 support keeping the "Γ‘" from turning into a strange character.
Common mistakes
The most dangerous misconception is thinking Base64 is security. It isn't encryption: anyone can decode Base64 in seconds. Storing a password "in Base64" thinking it's protected is a serious mistake β it's practically the same as leaving it visible.
Another recurring problem is special characters in tools that don't handle UTF-8. Without that care, accents and emojis get corrupted on the way in or out. That's why this tool converts via UTF-8 β so the text comes back identical.
There's also the confusion when decoding text that isn't valid Base64. If characters are missing, spaces are left in, or the content simply isn't Base64, decoding fails. The tool warns you instead of returning meaningless output.
Frequently asked questions
Is Base64 safe for storing passwords?
No. Base64 is not encryption and offers no protection β it's just a way to represent data. Anyone can decode Base64 easily. Never use it to protect sensitive information.
Why does the encoded text get larger?
Because Base64 represents every 3 original bytes with 4 characters. That roughly one-third increase is the cost of using only safe characters, without compressing the data.
Do accents and emojis work?
Yes. The tool uses UTF-8, so accented characters and emojis are encoded and decoded correctly, coming back identical to the original.
What does the equals sign at the end mean?
It's padding. It fills out the block size when the original data isn't an exact multiple of three bytes. It's part of the format and perfectly normal.
Related tools
Convert colors between HEX, RGB and HSL, with a visual picker and preview. Edit any format and the others update instantly.
Make CSS, HTML and SQL clean and readable with automatic indentation. Paste the code, pick the language and format.
Generate the hash of any text in MD5, SHA-1, SHA-256 and SHA-512 at once. Computed in your browser.
Format, indent and validate JSON in your browser. Points out the error with line and column when the text is invalid.