Base64 Encoder & Decoder
Securely convert plain text to Base64, and decode Base64 strings back to readable text entirely in your browser. No server uploads, no data retention.
How ZeroData protects your privacy
- ✓ No Uploads: Processing happens entirely via client-side JavaScript.
- ✓ No Storage: We do not have a database. We physically cannot save your data.
- ✓ No Tracking: We don't log what you process or track your inputs.
- ✓ Verifiable: Check your DevTools Network tab. You will see 0 outbound requests.
What is Base64 Encoding?
Base64 encoding is an algorithm that translates arbitrary binary or text data into a safe, printable ASCII format using a specific alphabet (A-Z, a-z, 0-9, +, and /). This encoding scheme ensures that complex payloads are transmitted reliably across systems that natively handle text. If you need to convert pictures rather than text, use our Base64 image converter instead.
Originally designed for older protocols like SMTP, Base64 is ubiquitous in modern web development. Whether you are generating an Authorization header, passing complex state in a URL string, or serializing data for a database, you will encounter Base64.
Unlike many online utilities, our Base64 Encoder strictly operates client-side. When dealing with authentication credentials, API tokens, or proprietary JSON configurations, privacy is critical. Because this tool leverages native JavaScript btoa() and atob() APIs directly in your browser, your sensitive strings are never transmitted over the internet or logged in a remote server.
When Should I Use This?
Base64 is not encryption—it is a transport mechanism. You should reach for Base64 encoding when:
- HTTP Basic Authentication: Web servers expect credentials formatted as
username:passwordencoded in Base64 within theAuthorization: Basic <token>header. - Data URIs in CSS/HTML: Small inline graphics or fonts can be converted to Base64 and embedded directly to save network requests.
- Encoding Binary Data in JSON: JSON cannot natively store binary data (like uploaded files). Converting it to Base64 allows it to sit safely inside a JSON payload string.
- Debugging JWTs: JSON Web Tokens are composed of three Base64url-encoded parts. Decoding the header or payload fragments helps verify token claims.
⚡ Quick Solutions
Need to encode or decode directly in your terminal or application code? Here are the standard commands:
// Encoding (Ensure UTF-8 support for emojis/special chars)
const encoded = btoa(unescape(encodeURIComponent("Hello World 🌍")));
// Decoding
const decoded = decodeURIComponent(escape(atob(encoded))); # Encode text
echo -n "user:password" | base64
# Decode text
echo "dXNlcjpwYXNzd29yZA==" | base64 --decode Troubleshooting Common Issues
- Malformed or corrupted text after decoding: Standard Base64 functions fail on Unicode characters. If you decode a string and see random garbled text (like
é), it means the original encoder didn't correctly convert the string to UTF-8 bytes first. Our tool handles UTF-8 automatically to prevent this. - "Invalid character" errors: If you try to decode a string and receive an error, check if the string contains URL-encoded characters (like
%3Dinstead of=) or if it is actually Base64url encoded (contains-and_instead of+and/).
How to Use the Base64 Encoder & Decoder
- Paste your raw text, JSON, or existing Base64 string into the input area.
- Click 'Encode' to generate the Base64 representation of your text.
- Click 'Decode' if you pasted a Base64 string and need to see the original content.
- Use the 'Copy' button to instantly copy the result to your clipboard.
- Optionally, click 'Download' to save the output as a local text file.
Common Use Cases
- Formatting credentials for HTTP Basic Authentication (e.g., username:password).
- Embedding small JSON payloads inside URLs without breaking query parameters.
- Transferring binary-safe data over legacy text-only channels like SMTP.
- Decoding tokens (like JWT fragments) during API debugging and development.
- Generating Data URIs for inline CSS assets to reduce HTTP requests.
Base64 Encoder & Decoder Examples
Basic Auth Header Format
admin:supersecret123 YWRtaW46c3VwZXJzZWNyZXQxMjM= JSON Payload
{"user":"john","role":"admin"} eyJ1c2VyIjoiam9obiIsInJvbGUiOiJhZG1pbiJ9 Frequently Asked Questions
What exactly is Base64 encoding?
Base64 encoding is an algorithm that transforms binary data or text into a sequence of printable ASCII characters (A-Z, a-z, 0-9, +, /). It prevents data corruption when transferring payloads through text-only protocols like HTTP, SMTP, or JSON.
Is Base64 considered encryption?
No. Base64 is strictly an encoding format, not encryption. It provides zero security or data obfuscation. Anyone with the encoded string can decode it back to its original form using a standard Base64 decoder. Never use it to hide sensitive data without proper encryption.
Is it safe to encode API keys here?
Yes. Our Base64 encoder operates 100% locally in your browser via client-side JavaScript. Your text, API keys, or tokens are never uploaded to a server, saved in a database, or tracked. You can verify this in your browser's Network tab.
Does this handle UTF-8 characters and emojis?
Yes, this tool correctly handles UTF-8 strings. It safely converts Unicode text, special symbols, and emojis into Base64 format and accurately decodes them back, which is essential for modern web applications.
Why does my Base64 string end with '='?
The equals sign (=) is used for padding. Base64 processes data in 3-byte blocks. If the original data isn't a multiple of 3 bytes, padding is added to complete the final block. You will typically see one or two equals signs at the end of the string.
Can I use this for image files?
While this tool is optimized for text, tokens, and payloads, you can convert images using our specialized tool. For image conversion, please navigate to our Base64 Image Converter tool.
What is Base64url encoding?
Base64url is a variant of Base64 designed for use in URLs and filenames. It replaces the '+' and '/' characters with '-' (dash) and '_' (underscore) respectively, so the encoded string doesn't break URL routing or file system paths. This is commonly used in JWTs (JSON Web Tokens).
Related Tools
URL Encoder
Encode and decode query parameters locally for APIs, redirects, and forms.
JWT Debugger
Inspect JWT headers and payloads locally without leaking tokens to third-party tools.
Hash Generator (Bcrypt/SHA)
Generate Bcrypt, SHA-256, and MD5 hashes locally. Never send passwords over the network.
Number Base Converter
Convert numbers between binary, octal, decimal, and hexadecimal bases instantly in your browser.