Base64 Encode / Decode
Encode text to Base64 or decode it back, with full UTF-8 support.
What is Base64?
Base64 is an encoding that represents binary or text data using 64 printable ASCII characters. It is used to embed images in CSS, carry credentials in HTTP headers and move data safely through systems that only handle text. Encoding grows the data by roughly a third β it is not encryption and offers no security.
Why UTF-8 matters here
The browser's raw btoa function only handles Latin-1, so it breaks on accents and
emoji. This tool wraps it with encodeURIComponent so every character is first turned into
UTF-8 bytes, giving a clean round-trip for any Unicode text.
How to use the Base64 Encode / Decode
- Choose a mode. Pick Encode to make Base64, or Decode to read it back.
- Enter your input. Type or paste the text or Base64 string.
- Click Convert. The output updates instantly as you type too.
- Copy the output. Grab the result with the Copy button.
Frequently asked questions
Is Base64 encryption?
No. Base64 is fully reversible with no key, so it hides nothing. Use it for transport and embedding, never for secrecy.
Does it handle emoji and accents?
Yes. The tool encodes via UTF-8 first, so multi-byte characters round-trip correctly.
Why does decoding fail sometimes?
The input must be valid Base64. Extra spaces, truncated strings or non-Base64 characters will produce an error.
Does my text leave the browser?
No. Encoding and decoding run locally using native browser functions.