Instant Base64 conversion — free, private, runs entirely in your browser
Copy the Base64-encoded string from your source — email, API response, database, or anywhere else — and paste it into the input box.
The decoded text appears automatically as you type. No need to click anything. Supports full UTF-8, so non-Latin characters decode correctly.
Click Copy to grab the result, or use Swap to move the output back into the input for further processing. Drop a file to encode it.
Decode JWT tokens or API keys to inspect their payload without writing code.
Encode images to Base64 to embed them directly into HTML or CSS as data URIs.
MIME email attachments are Base64-encoded. Decode them to inspect or extract content.
Binary data is often stored as Base64 in databases. Decode to view the original content.
Many REST APIs pass binary data as Base64 strings. Quickly decode during development.
HTTP Basic Auth encodes credentials as Base64. Decode to verify the username:password pair.
Base64 converts binary data into ASCII text using 64 printable characters (A–Z, a–z, 0–9, +, /). It is not encryption — it's a way to safely transmit binary data over text-only channels like email or JSON APIs.
No. Base64 is encoding, not encryption. Anyone can instantly reverse it. Never use Base64 to protect sensitive data — use AES-256 or similar encryption for that purpose.
Yes. Everything runs 100% in your browser. No data is sent to any server, nothing is logged or stored. Your input never leaves your device — safe even for API keys, tokens, and credentials.
Switch to Encode mode and drop your image onto the drop zone. Use the result as a data URI in HTML: src="data:image/png;base64,..."
Base64 encodes 3 bytes into 4 characters. When the input length is not divisible by 3, one or two = padding characters are added. This is normal and expected.
Base64URL replaces + with - and / with _ to make the string URL-safe. JWT tokens use Base64URL encoding.
import base64; decoded = base64.b64decode('your_string').decode('utf-8') — the base64 module is built into Python, no install needed.
Use the built-in atob() function: const decoded = atob('your_base64_string'); For encoding: btoa('your text').
Base64 increases data size by approximately 33%. Every 3 bytes of input become 4 Base64 characters. A 1 MB file becomes roughly 1.37 MB when Base64-encoded.
The original data was binary (an image, PDF, video, etc.), not plain text. The decoded output is only readable if the original content was text. For files, use the file drop zone to encode them properly.
Yes. Base64 can encode any binary file — images, PDFs, audio, archives. Switch to Encode mode and drop your file onto the tool to get the Base64 output instantly.
JSON and HTTP headers are text-based and cannot carry raw binary data. Base64 converts binary payloads into safe ASCII strings. JWT tokens use Base64URL to encode header and payload sections so they survive URL transmission without modification.