Base64 Encode / Decode
Encode any text — including emoji and international characters — to Base64, or decode a Base64 string back to plain text. Runs entirely in your browser.
Encoding and decoding happen entirely in your browser using the
TextEncoder API — nothing is ever sent to a server.How it works
- Choose Encode or Decode from the mode toggle.
- Paste or type your text into the input area.
- The result updates instantly. Copy it with the button in the output panel.
- Unicode and emoji are handled correctly via the
TextEncoderAPI.
Frequently asked questions
- What is Base64?
- Base64 is an encoding scheme that represents binary data as printable ASCII characters. It is commonly used to embed binary data (images, files) in text-based formats like JSON, HTML, and email.
- Why do I need UTF-8 safe encoding?
- The browser's built-in btoa() only handles Latin-1 characters. This tool uses the TextEncoder API to first convert your Unicode text to UTF-8 bytes, then encodes those bytes — so emoji and non-Latin characters are handled correctly.
- What is the difference between Encode and Decode?
- Encode converts plain text to its Base64 representation. Decode converts a Base64 string back to the original plain text. Make sure to choose the correct mode for your input.
- Why am I getting a decoding error?
- Base64 strings must only contain A–Z, a–z, 0–9, +, / and = (padding). Any other characters will cause a decoding error. Also ensure the string length is a multiple of 4 (with padding), otherwise the input may be truncated.
- Is my data safe?
- Yes. All encoding and decoding happens entirely in your browser using standard Web APIs. Nothing is sent to any server.