Base64 Encode / Decode
Encode text to Base64 or decode Base64 back to text, with URL-safe support, all local.
Encode or decode Base64 without sending anything to a server
Base64 shows up constantly in API tokens, JWT segments, embedded images and Basic Auth headers, and it is common to need the plain text behind one, or to produce a Base64 string from scratch. This tool encodes arbitrary UTF-8 text to Base64 and decodes Base64 back to text, with a toggle for the URL-safe alphabet used in tokens and query strings. Everything runs locally in your browser, which matters because a Base64 string frequently hides an API key, session token or other credential.
How to use the Base64 Encode / Decode
- Choose Encode or Decode from the mode toggle above the input.
- Paste text to encode, or a Base64 string to decode, into the left panel.
- Turn on URL-safe if you're encoding for use in a URL or a token that uses - and _ instead of + and /.
- Read the result on the right, and use the swap button to flip direction with the current output carried over.
- Copy the result, or send it to another tool such as the JWT decoder.
Base64 is an encoding, not encryption: it maps bytes to a 64-character alphabet in a fixed, publicly known way, so anyone, not just you, can decode it back to the original bytes with no key or password required. Treat it as obfuscation for transport, never as a way to protect a secret.
Decoding accepts both the standard alphabet (+ and /) and the URL-safe alphabet (- and _), and restores missing = padding automatically, so pasting a token straight from a URL or a JWT segment works without edits.
Frequently asked questions
- Is Base64 encryption?
- No, Base64 is an encoding. It converts bytes into a text-safe alphabet using a fixed, public algorithm, so decoding requires no key or password, and anyone with the string can recover the original text.
- Can someone decode my Base64 string without a password?
- Yes, decoding Base64 requires nothing beyond the string itself, since the mapping between bytes and characters is fixed and public, not a secret. If the content needs to stay confidential, encrypt it before encoding.
- What is the difference between standard and URL-safe Base64?
- Standard Base64 uses + and / in its alphabet, which have special meaning in URLs; URL-safe Base64 replaces them with - and _ so the string can appear in a URL or filename without extra encoding.
- Why does decoding my Base64 fail?
- Decoding fails when the input contains characters outside the Base64 alphabet, or has a length that can't correspond to whole bytes even after restoring padding, which usually means the string was truncated or copied incorrectly.