Base64 Encode / Decode Tool
Encode text into Base64 or decode Base64 back into readable content directly in your browser. It is useful for inspecting tokens, debugging authorization headers, checking config values, decoding API payloads, and converting plain text without using a remote service. ToolMill runs fully client-side for privacy and continues to work offline after installation.
Encoding
Try it
Examples
Hello, ToolMill!
SGVsbG8sIFRvb2xNaWxsIQ==
VGhpcyBpcyBhIGJhc2U2NCBkZWNvZGUgdGVzdC4=
This is a base64 decode test.
YWRtaW46ZGVtbw==
admin:demo
{"mode":"demo","enabled":true}
eyJtb2RlIjoiZGVtbyIsImVuYWJsZWQiOnRydWV9
What Base64 is and when to use it
Base64 turns bytes into a limited ASCII character set so text can move safely through systems that expect plain text. That makes it useful for copied header values, configuration strings, API samples, email-style payloads, and debug output. Base64 changes representation, not secrecy, so it should never be treated as encryption.
Common workflows
Check a Basic Authorization header
A common debugging task is verifying a copied Basic Auth value. In that format, a plain text username and password are joined with a colon and then encoded as Base64. This page is useful when you need to confirm what a copied header actually contains before you send another request.
Inspect API or config values
Many systems store short text payloads, environment values, or copied sample data in Base64 form. Decoding helps you inspect what is actually present, while re-encoding lets you test small edits without reaching for another service or command-line tool.
Prepare plain text for transport
If a system expects Base64 text, you can paste readable content here and convert it before embedding it into a request, fixture, or documentation example. This tool is especially convenient for short text samples and copied snippets rather than full binary files.
Input rules and edge cases
This page is text-focused. It works well for readable strings and Unicode text, and the decoder ignores spaces and line breaks in the pasted Base64 input. Standard Base64 is expected here, so URL-safe variants that use different characters may need to be converted first. Padding also matters: missing or damaged equals signs can cause decode failures.
Why decoding fails
Decode failures usually mean the pasted value contains non-Base64 characters, incorrect padding, a truncated string, or a Base64URL variant that was copied into a standard Base64 decoder. Another common source of confusion is decoding valid Base64 that represents binary data instead of human-readable text.
Privacy and offline use
Before You Rely on Encoded or Decoded Data
Before reusing output, confirm the original text encoding, check whether the source was standard Base64 or a variant such as Base64URL, and verify that any required padding or file-type expectations match the destination system. This helps avoid copying technically valid output into the wrong workflow.
What Base64 Decode Results Do and Do Not Prove
A successful decode only proves that the input could be interpreted as Base64 and turned back into bytes or text in this tool. It does not prove the decoded result is meaningful, trustworthy, correctly encoded for your downstream app, or suitable for direct reuse without inspection.
How to Interpret Base64 Output Correctly
Base64 output is just a text representation of bytes. It does not prove that the original content was readable text, safe, secret, or even intended for display. The main value of the result is that it can be copied into systems that expect Base64 as a transport or storage format.
Because ToolMill runs in the browser, you can inspect copied tokens, headers, config snippets, and short payloads without sending them to another website. That is especially useful when the text contains internal values you would rather keep local while debugging.
Related tools
Hex Encode / Decode — Text ↔ Hex
Hex Encode / Decode converts text into hexadecimal (base-16) bytes and decodes hex back into readable text. Use it for debugging binary payloads, inspecting UTF-8 bytes, reversing escaped strings, and working with hashes or low-level protocols. Accepts common hex formats (with or without spaces, newlines, or 0x prefixes). Runs 100% locally in your browser — no uploads — and works offline after installing ToolMill as a PWA.
Encoding
HTML Entity Encode / Decode — Escape & Unescape HTML
HTML Entity Encode / Decode converts special characters like <, >, &, and quotes into safe HTML entities (and decodes them back). Use it when working with HTML attributes, templates, CMS editors, Markdown docs, or when debugging copy/paste issues. Handles common named entities (e.g. <, >, &, ") and numeric entities. Runs 100% locally in your browser — no uploads — and works offline after installing ToolMill as a PWA.
Encoding
ROT13 Encode / Decode — Text ↔ ROT13 Cipher
ROT13 is a simple letter substitution cipher that shifts A↔N, B↔O, etc. It is often used for spoilers, light obfuscation, and forum/email text. This tool encodes plain text to ROT13 and decodes ROT13 back to text (the operation is symmetric). Runs 100% locally in your browser — no uploads — and works offline after installing ToolMill as a PWA.
Encoding
URL Encode / Decode (Percent-Encoding)
URL Encode/Decode (percent-encoding) converts unsafe characters into a URL-safe format and back again. Use it for query strings, redirect URLs, UTM parameters, and debugging API requests (RFC 3986). Runs 100% locally in your browser — no uploads — and works offline after installing ToolMill as a PWA.
Encoding
