How to encode or decode text
- Choose Encode or Decode, then choose the alphabet.
- Enter UTF-8 text or a single Base64 value and select Process.
- Copy the result. Change any setting and process again to refresh it.
For example, standard Base64 encodes Hello, world! as SGVsbG8sIHdvcmxkIQ==. The UTF-8 character ✓ encodes as 4pyT.
Standard Base64 and Base64URL
| Mode | Character substitutions | Padding |
|---|---|---|
| Standard Base64 | + and / | Uses trailing = when needed |
| Base64URL | - and _ | Encoder omits padding; decoder accepts omitted or correct ending padding |
Base64URL uses a URL-safe alphabet. Both modes encode bytes; this page first converts text to UTF-8 and rejects decoded bytes that are not valid UTF-8 text.
Frequently asked questions
Why is my Base64 invalid?
Check that the chosen alphabet matches the value, there are no spaces or line breaks, and padding is valid for the selected mode. Non-canonical pad bits are rejected.
Does this support Unicode?
Yes. Text is converted to UTF-8 before encoding, so symbols such as ✓, emoji, and Japanese text round-trip correctly.
What is Base64URL?
Base64URL replaces + and / with - and _. Its unpadded form is commonly used in URL-safe data such as JWT segments. Encoding does not encrypt or protect the contents.
Related developer tools
Decode token segments with the JWT Decoder, convert URI components with the URL Encoder & Decoder, or browse all Developer Tools.