Base64 Encoder and Decoder
About Base64 Encode/Decode
Paste text to encode it to Base64, or paste Base64 to decode it back. Full UTF-8 support, so accents, emoji and non-Latin scripts survive the round trip intact.
Base64 rewrites data using only 64 safe characters, so it can travel through systems that only handle plain text — email attachments, JSON payloads, data URLs, HTTP headers, config files. It is an encoding, not encryption: anyone can decode it, so it protects nothing.
Plenty of Base64 tools break on non-English text, because the naive browser functions only handle single-byte characters. This one converts through UTF-8 in both directions, so text in any language, and emoji, come back exactly as they went in. Invalid Base64 gives a clear error rather than silent nonsense.
What you can use it for
- Decode a Base64 string from an API response, log file or config to see what it contains.
- Encode text to embed in a JSON payload or an HTTP header safely.
- Inspect the payload of a token or credential you have been handed.
- Build a small data URL for embedding directly in HTML or CSS.
- Check whether an encoded string round-trips correctly before shipping it.
How it works, step by step
- 1
Choose a direction
Encoding text to Base64, or decoding Base64 back to text.
- 2
Paste your input
Drop the text or the Base64 string into the box.
- 3
Read the result
The output appears immediately. Invalid Base64 is flagged rather than silently mangled.
- 4
Copy or swap
Copy the result, or swap it into the input to convert back the other way.
Frequently asked questions
Is Base64 encryption?
No, and this matters. Base64 is a reversible encoding that anyone can undo in seconds. It offers no security whatsoever — never use it to protect a password, key or personal data.
Why do other tools break on emoji or accented text?
Because the browser's built-in functions only handle single-byte characters and throw or corrupt anything outside that range. This tool converts through UTF-8 in both directions, so any language and emoji survive intact.
Why is Base64 longer than the original?
It represents every 3 bytes as 4 characters, so encoded output is about 33 percent larger. That is the cost of using only text-safe characters.
What are the = signs at the end?
Padding. Base64 works in blocks of four characters, so one or two = signs are added to fill the final block when the input length is not a multiple of three.
Is my data sent to a server?
No. Encoding and decoding happen entirely in your browser, so it is safe to inspect strings containing sensitive values.