Base64 encode / decode
Convert text to and from Base64 with full UTF-8 support — emoji and non-Latin scripts round-trip correctly. Everything runs locally.
What is Base64?
Base64 represents arbitrary binary data using 64 printable ASCII characters (A–Z, a–z, 0–9, + and /). It is used to embed binary in text-only contexts — data URLs, JSON, email (MIME), JWTs, and HTTP headers. It is an encoding, not encryption: anyone can decode it.
Common uses
- Embedding images or fonts directly in CSS/HTML via
data:URLs. - Encoding binary attachments in email (MIME).
- Carrying tokens and claims in JWTs (Base64URL).
- Putting binary payloads inside JSON or HTTP headers.
Base64 is not encryption
Base64 hides nothing — it is trivially reversible (that's the point). To actually protect data you need hashing or encryption. For password hashing and HMAC signing, see the Oxide Hash & Encryption Toolkit; to generate secure random tokens (hex/base64/UUID), use its /v1/token endpoint at the edge.
curl -X POST https://hash-toolkit1.p.rapidapi.com/v1/token \
-H "Content-Type: application/json" \
-H "X-RapidAPI-Key: YOUR_KEY" \
-H "X-RapidAPI-Host: hash-toolkit1.p.rapidapi.com" \
-d '{"type":"base64","length":32}' FAQ
What is Base64 encoding?
Base64 represents arbitrary binary data using 64 printable ASCII characters (A–Z, a–z, 0–9, + and /). It is used to embed binary in text-only contexts — data URLs, JSON, email (MIME), JWTs, and HTTP headers. It is an encoding, not encryption: anyone can decode it.
Is Base64 encryption?
No. Base64 is reversible by design and provides zero secrecy. Never use it to protect passwords or secrets — anyone can decode it instantly. Use it only to transport binary safely through text channels.
Does this handle Unicode / emoji?
Yes. Text is encoded as UTF-8 before Base64, and decoded back to UTF-8, so emoji and non-Latin scripts round-trip correctly — unlike a raw btoa() call, which throws on non-Latin1 characters.
Is my data sent anywhere?
No. Encoding and decoding happen entirely in your browser. Nothing is uploaded or logged.
Whats the difference between Base64 and Base64URL?
Base64URL replaces + and / with - and _ and drops padding (=), so the result is safe inside URLs and filenames. JWTs use Base64URL. This tool shows both where relevant.