TheTools.World tool
Base64 encoder / decoder online
Encode plain text into Base64, or decode Base64 back into readable text, with full support for Unicode characters like emoji and non-English letters. Useful for embedding text in data URIs, config files, and simple encoded tokens.
Encode or decode Base64
Encode plain text into Base64, or decode Base64 back into readable text, with full support for Unicode characters like emoji and non-English letters. Useful for embedding text in data URIs, config files, and simple encoded tokens.
How to encode or decode Base64
- Type or paste the text you want to encode, or the Base64 string you want to decode.
- Choose Encode to Base64 or Decode from Base64.
- Click Run.
- Copy the result for use in your code, config file, or data URI.
- If decoding fails, check that you pasted a complete, valid Base64 string with no extra characters.
Base64 is an encoding, not encryption — anyone can decode it back to the original text. Do not use Base64 alone to protect sensitive information.
What Base64 is and how this tool handles Unicode
Base64 represents binary data (or text) using only 64 printable ASCII characters, which makes it safe to embed in places that expect plain text, like JSON strings, config files, email attachments, and data URIs. This tool first converts your text to UTF-8 bytes, then Base64-encodes those bytes, and reverses the process for decoding — this means it correctly round-trips text containing emoji, accented letters, and non-English scripts, not just plain ASCII.
Best practices
- Remember Base64 is not encryption. It's an encoding scheme anyone can reverse; never rely on it to keep sensitive data secret.
- Use it for embedding text or small binary data as plain text, such as inline images in a data URI or a simple token in a config file.
- Check the decoded result carefully before trusting it, especially if the Base64 came from an untrusted source.
Common mistakes to avoid
- Treating Base64 as a security measure. It provides no confidentiality; use real encryption if you need to protect data.
- Pasting a truncated or corrupted Base64 string, which will fail to decode; make sure you copied the entire string including any trailing
=padding characters. - Assuming Base64-encoded text is always shorter. Base64 encoding increases size by roughly 33%, so it's not a compression method.
Real-world use cases
- Embedding a small image or icon directly in HTML/CSS as a Base64 data URI.
- Storing binary-ish data in a text-only field, like a config file, environment variable, or JSON payload.
- Decoding a JWT header or payload segment to inspect its contents (note: JWTs use a URL-safe Base64 variant, which may need character substitution before pasting here).
- Debugging API responses or logs that contain Base64-encoded fields.
Limitations
This tool uses standard Base64 (with +, /, and = padding), not the URL-safe variant (which uses - and _ instead). If you're decoding a URL-safe Base64 string (common in JWTs), you may need to replace - with + and _ with / first. Decoding will fail with an error if the input is not valid Base64.
Privacy
Text you encode or decode is processed locally in your browser. It is not sent to a server, logged, or stored. See the privacy policy for the site's full data handling approach.
Troubleshooting
- If decoding fails, check that the string is complete and uses standard Base64 characters (letters, numbers,
+,/, and=padding). - If you're decoding a URL-safe Base64 string (like from a JWT), replace
-with+and_with/before decoding. - If the decoded text looks garbled, the original data may not have been UTF-8 text (for example, raw binary data), which this text-focused tool isn't designed to display meaningfully.
Conclusion
Use this tool for quick Base64 encoding and decoding of text, including Unicode content. For percent-encoding a URL instead, use the URL encoder / decoder; to inspect the resulting text's length, use the character counter.
Related tools
FAQ
Is Base64 encryption?
No. Base64 is an encoding scheme that anyone can reverse; it provides no confidentiality. Use real encryption if you need to protect sensitive data.
Does this handle emoji and non-English text?
Yes. Text is converted to UTF-8 bytes before Base64 encoding, so emoji, accented letters, and non-English scripts round-trip correctly.
Why did decoding fail?
The input likely wasn't valid standard Base64 — check for a complete string with correct characters and padding, or convert from URL-safe Base64 (replace - with + and _ with /) first.
Is my text uploaded anywhere?
No. Encoding and decoding happen locally in your browser, and your text is not sent to a server.