Loading developer tools…
Loading developer tools…
Encode text to Base64 or decode Base64 back to plain text. Supports standard and URL-safe variants.
APIs, config files, and URLs are text-only, but the data you sometimes need to move through them — images, file attachments, auth headers — is binary. Sending raw binary through a text channel risks corrupted or misinterpreted bytes, so it needs to be represented safely as plain characters first. This tool converts text or binary-like input to and from Base64 instantly, entirely in your browser — nothing is uploaded to a server. It supports both standard Base64 and the URL-safe variant used in web addresses and tokens, so you can encode, decode, and round-trip data without leaving the page.
Base64 Output
Output will appear here…Format, validate, and minify JSON with syntax highlighting and error detection
Decode and inspect JSON Web Token headers, payloads, and expiry claims
Convert Unix timestamps to human-readable dates and vice versa, in any timezone
Test and debug regular expressions with live match highlighting and group capture
Choose Encode or Decode
Click the Encode tab to convert plain text to Base64, or Decode to convert Base64 back to plain text.
Optionally enable URL-safe mode
Check 'URL-safe' to replace + with - and / with _ and strip = padding — required for use in URLs and JWT tokens.
Type or paste your input
Enter the text or Base64 string in the left panel.
Click Encode / Decode
The result appears instantly in the right panel.
Copy or swap
Click 'Copy' to grab the output, or 'Swap' to move the output back to input for round-trip testing.
Base64 is a binary-to-text encoding scheme defined by RFC 4648. It is not encryption, not compression, and not a security mechanism of any kind — it exists purely to make binary data safe to carry through systems that were designed to handle text, not raw bytes. Email systems, JSON strings, HTML attributes, and many older protocols choke on arbitrary binary bytes, especially control characters or byte sequences that could be misinterpreted as protocol commands. Base64 sidesteps that by remapping every 3 bytes of input into 4 characters drawn from a 64-character alphabet of letters, digits, and a couple of symbols — all of which are guaranteed safe to pass through text-oriented systems unmodified.
The tradeoff is size: because each output character only carries 6 bits of information instead of 8, Base64-encoded data is about 33% larger than the original. That overhead is the price of universal text-safety, and it's why Base64 is reserved for cases where binary-in-text is genuinely necessary rather than used as a general-purpose storage format. Typical real-world uses include embedding small images directly into HTML or CSS as data URIs (avoiding a separate image request), packaging binary file attachments inside JSON API payloads, and constructing HTTP Basic Authentication headers, where a username:password pair is Base64-encoded (again, not encrypted) before being sent over an already-encrypted HTTPS connection.
One of the most common places developers encounter Base64 today is inside JSON Web Tokens. A JWT is three segments — header, payload, and signature — each independently Base64url-encoded and joined with dots. Base64url is a small variant of standard Base64 that swaps out the + and / characters (which have special meaning in URLs) for - and _, and typically drops the trailing = padding. If you're working with tokens rather than plain text, the JWT Decoder tool applies this same decoding logic automatically to each segment and shows you the resulting JSON, rather than requiring you to split and decode the token by hand.
Because decoding a Base64 string requires no key, password, or special knowledge — just the string itself and a decoder — it should never be relied on to keep data confidential. It is entirely reversible by design, and that reversibility is a feature, not a flaw: the entire point is that data survives the round trip through a text-only system unmodified. If you need to keep information private, encrypt it first with something like AES, then Base64-encode the encrypted bytes if you need the result to be text-safe. Encoding and encryption solve different problems, and mixing them up is one of the most common misunderstandings developers have about Base64.
Unlike most online tools, Toolivon processes everything directly in your browser using the Web APIs built into Chrome, Firefox, Safari, and Edge.
Last updated:
Your data never leave your device
All processing runs directly in your browser using built-in Web APIs — the Canvas API, Web Audio API, and WebAssembly. Nothing is uploaded to any server. There is no account, no email, and no data retention. You can verify this yourself: open your browser's DevTools Network tab and watch zero outbound file requests while the tool processes your data.
GDPR-friendly · Works offline after page load · No file size limits beyond your device memory