Base64 Encode / Decode
Base64 rewrites arbitrary data as plain ASCII so it can travel safely through email, JSON strings and URLs. This tool works in both directions and treats your text as UTF-8 first, which is the step naive encoders skip — emoji, accented letters and non-Latin scripts all survive the round trip intact.
How to use it
- Type or paste plain text to encode, or a Base64 string to decode.
- Press Encode or Decode.
- Copy the result — or use "Use output as input" to run the reverse operation on it.
Key facts
- Text is converted through UTF-8 before encoding, so any Unicode character round-trips losslessly.
- When decoding, spaces and line breaks in the input are ignored — wrapped strings from emails decode fine.
- Base64 output is always a multiple of 4 characters; trailing = signs are padding, not data.
- Base64 is an encoding, not encryption. Anyone can decode it in milliseconds.
About this tool
Base64 rewrites arbitrary data as plain ASCII so it can travel safely through email, JSON strings and URLs. This tool works in both directions and treats your text as UTF-8 first, which is the step naive encoders skip — emoji, accented letters and non-Latin scripts all survive the round trip intact.
Decoding is deliberately strict. Input that is not valid Base64 gets a clear error rather than silent garbage, and bytes that decode to something other than valid UTF-8 text are reported as such. It all runs locally, in this tab.
Like every TextKit tool, the Base64 Encode / Decode runs entirely on your device. There is no account, no upload and no record of the content you process — close the tab and everything is gone.
Frequently asked questions
Why do some decoders mangle emoji and accented characters?
They treat text as single-byte Latin-1. This tool converts through UTF-8 on both sides, so the full Unicode range encodes and decodes without corruption.
Can I use Base64 to protect a password or secret?
No — please do not. Base64 is a transport encoding with zero secrecy. It makes data safe to carry, not safe from readers.
Why did my string fail to decode?
Either it contains characters outside the Base64 alphabet, or it decodes to bytes that are not valid UTF-8 text (for example, an encoded image or binary file). The error message tells you which case you hit.
Related tools
URL Encode / Decode
Percent-encode text for URLs, or decode percent-encoded strings back.
~/tool/hash-generatorHash Generator (SHA)
Compute SHA-1, SHA-256 and SHA-512 digests of any text, instantly.
~/tool/json-formatterJSON Formatter & Validator
Pretty-print, minify and validate JSON, with the exact error location when it breaks.