Skip to Base64 tool
Edwin Lab

Base64 Encoder & Decoder

Convert UTF-8 text with standard Base64 or Base64URL. Processing stays in this browser; Base64 is an encoding, not encryption.

Input limit: 5 MiB UTF-8. Decode input must be one Base64 value with no whitespace.

Output limit: 10 MiB. Output remains selectable if clipboard access is unavailable.

Ready. Choose an operation and alphabet, then process your input.

How to encode or decode text

  1. Choose Encode or Decode, then choose the alphabet.
  2. Enter UTF-8 text or a single Base64 value and select Process.
  3. 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

ModeCharacter substitutionsPadding
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.