Base64 Encode / Decode Online
Convert text to Base64 and back instantly, with correct UTF-8 handling and support for the URL-safe alphabet. Handy for debugging Authorization headers, data URIs, JWT segments and anything else that hides readable data behind an encoding.
How to use
- Paste your text (or a Base64 string) into the input box.
- Select Encode or Decode.
- Toggle URL-safe mode if the string uses - and _ instead of + and /.
- Copy the result from the output panel.
Base64 maps every 3 bytes of binary data to 4 characters from a 64-symbol alphabet (A-Z, a-z, 0-9, + and /), which is why encoded output is always about 33% larger than the input. It exists because many protocols, email via MIME, HTTP basic auth, XML, JSON, can only carry text safely, so binary payloads must be smuggled through as characters. The trailing = signs are padding that rounds the output to a multiple of 4. A string ending in == means the final group encoded a single byte.
The most common day-to-day uses are decoding Authorization: Basic headers (which are just user:password Base64-encoded, not encrypted), reading the header and payload segments of a JWT, building data: URIs for inline images, and unpacking Kubernetes Secrets, which are Base64-encoded by default.
Two gotchas trip people up constantly. First, Base64 is an encoding, not encryption, anyone can reverse it, so never treat it as protection for secrets. Second, there are two alphabets: standard Base64 uses + and /, while the URL-safe variant (RFC 4648 §5, used by JWTs) substitutes - and _ and often drops padding. Decoding a JWT segment with a standard decoder fails on those characters, which is why this tool lets you switch modes. Velona processes conversions server-side and stores nothing for anonymous users.
Examples
Input: hello
Output: aGVsbG8=
Input: Velona AI Gateway
Output: VmVsb25hIEFJIEdhdGV3YXk=
Input: SGVsbG8sIFdvcmxkIQ==
Output: Hello, World!
Frequently asked questions
Is Base64 encryption?
No. Base64 is a reversible text encoding with no key and no secrecy. Anyone who sees a Base64 string can decode it in milliseconds, so it must never be used to protect passwords or tokens.
Why does my Base64 string end with = or ==?
That is padding. Base64 emits output in blocks of 4 characters. When the input length is not a multiple of 3 bytes, = characters fill the final block. One = means the last group held 2 bytes, == means 1 byte.
What is URL-safe Base64?
A variant defined in RFC 4648 that replaces + with - and / with _ so encoded data can live inside URLs and filenames without percent-encoding. JWTs use it, usually without padding.
Can this tool handle emoji and non-English text?
Yes. Input is encoded as UTF-8 bytes before Base64 conversion, so Devanagari, Tamil, CJK text and emoji all round-trip correctly.
Related tools
Velona is India's INR-native AI API gateway with 300+ models, UPI top-up from ₹10, no foreign card needed. These tools are free forever.