Base64 Encoder/Decoder
Encode text to Base64 or decode Base64 strings back to plain text instantly. Free, client-side converter that handles JWT payloads and data URIs.
🔒 100% Client-Side Processing
Your data is processed entirely in your browser and never transmitted to any server.
Input String0 / 100M Limit
Result
Common Use Cases
Inspecting API credentials
Decode Basic-Auth headers, webhook payloads, and configuration secrets that arrive Base64-encoded to verify what they actually contain.
Embedding data in text formats
Encode binary or special-character content so it survives inside JSON, XML, or email bodies that only carry plain text.
Debugging JWT and cookie values
Decode the Base64 segments of tokens and session cookies to see the claims and values inside during authentication debugging.
Frequently Asked Questions
- What is Base64 encoding?
- Base64 represents binary or arbitrary data as plain ASCII text, using 64 characters (A-Z, a-z, 0-9, +, /) plus = for padding. It exists because some channels — email (MIME), URLs, JSON, XML — only reliably carry plain text, so binary data (images, files, keys) gets Base64-encoded first. The tradeoff: encoded output is about 33% larger than the original.
- How do I decode Base64 to text?
- Paste the Base64 string and choose Decode. The tool uses the browser's built-in atob() function, so it works for any standard Base64 including JWT payload segments, email attachments, and API responses — instantly, with no server.
- Is Base64 encryption?
- No. Base64 is a reversible text encoding, not encryption — anyone can decode it instantly. It exists to carry binary data through text-only channels (URLs, JSON, email), so never rely on it to protect passwords or secrets.
- Why does my Base64 string fail to decode?
- Common causes: URL-safe Base64 (uses - and _ instead of + and /), stripped = padding, or line breaks inside the string. Remove whitespace first, and for JWT segments convert URL-safe characters back before decoding.
- How do I Base64 encode in Python, JavaScript, PHP, or Java?
- Python: base64.b64encode(data.encode()).decode(). JavaScript: btoa(text) (browser) or Buffer.from(text).toString('base64') (Node). PHP: base64_encode($text). Java: Base64.getEncoder().encodeToString(bytes.getBytes()). Paste your value here first to confirm the expected output before wiring it into code.
- What is the difference between standard Base64 and URL-safe Base64?
- Standard Base64 uses + and / characters, which have special meaning inside URLs and can break query strings. URL-safe Base64 (used by JWTs) replaces them with - and _ instead. This tool encodes/decodes standard Base64; for the URL-safe variant use the Base64 URL Safe Encoder.
- Is my data private when I use this tool?
- Yes. This tool runs entirely in your browser using client-side JavaScript — nothing you type is transmitted to, logged by, or stored on any server. You can safely process confidential text, tokens, or code.