Encode text to Base64 or decode Base64 to text instantly. Supports Unicode, works offline.
Text Input
Enter text to encode
Base64 Output
0 characters
How the Base64 Encoder Works
The SimpleTaskTools Base64 Encoder/Decoder is a free online tool for converting text to Base64 and vice versa. Base64 encoding is commonly used for encoding binary data in text formats, embedding images in CSS/HTML, and transmitting data through text-only channels.
Encode Text to Base64
Convert any text, including Unicode characters and special symbols, into Base64 format. This is useful for embedding data in URLs, storing binary data in JSON, or preparing text for transmission through systems that only support ASCII.
Decode Base64 to Text
Convert Base64-encoded strings back to their original text form. This is helpful for reading encoded data from APIs, decoding embedded content, or debugging data transmission issues.
Unicode Support
Our encoder fully supports Unicode characters, including emojis and characters from all languages. The tool handles UTF-8 encoding properly to ensure your text is accurately converted.
Privacy First
All encoding and decoding happens locally in your browser. Your data is never sent to any server, making this tool safe for sensitive information like API keys, tokens, and personal data.
Base64 is a way to represent binary data — images, PDF files, encrypted blobs — using only the 64 "printable" characters A–Z, a–z, 0–9, +, and /. It exists because many internet protocols (email, JSON, HTTP headers, URLs) cannot safely carry arbitrary bytes. Base64 turns binary into safe ASCII text at the cost of about 33% extra size.
You'll encounter Base64 everywhere: every JWT token is three Base64 strings separated by dots; every PNG embedded in an HTML "data: URI" is Base64; OAuth bearer tokens are Base64; Stripe webhook signatures use Base64 HMAC. Knowing how to encode and decode it is a daily-utility skill.
Our Base64 tool handles both directions in real-time, supports UTF-8 (so you can encode emoji and non-Latin scripts), offers URL-safe variant (replaces + and / with - and _ for use inside URLs), and works entirely in your browser using the native btoa() / atob() APIs plus a UTF-8 wrapper.
How to use Base64 Encoder & Decoder
1
Pick a mode
Choose "Encode" to convert plain text or binary to Base64, or "Decode" to convert Base64 back to readable text.
2
Enter input
Paste your text or Base64 string into the input field. The output updates as you type.
3
Toggle URL-safe variant
If your Base64 will appear in a URL or filename, enable URL-safe to replace + with - and / with _. This is the variant used by JWT.
4
Copy the result
Use the copy button to grab the encoded or decoded output for your code or terminal.
Common Use Cases
Decode JWT tokens
A JWT is three Base64URL strings. Decode the first two (header and payload) to see what claims a token contains — without verifying the signature.
Encode images for data URIs
Inline a small icon directly into your HTML or CSS as data:image/png;base64,iVBOR... — eliminates one HTTP request.
Test webhook signatures
When debugging HMAC-signed webhooks, you need to Base64-encode the signature byte string before comparison.
Carry binary in JSON
JSON has no binary type. To pass a file or encrypted blob inside a JSON document, encode it as Base64 first.
Decode Authorization headers
HTTP Basic Auth headers contain "Basic " followed by Base64-encoded user:password. Decode to verify what's being sent.