Base64 Encode and Decode: Text, Emoji, URL-Safe and Errors

What is it?

Base64 Encode / Decode turns text into Base64 (letters, digits, + and /) and back. Base64 is used in emails, data URLs, APIs and config files to carry data as plain text.

Who is it for?

Developers handling API payloads, tokens and email content, and anyone who receives encoded text and needs to read it.

How to use it

  1. Choose Encode or Decode.
  2. Paste your text or Base64.
  3. Tick URL-safe (- and _ instead of + and /) for links, file names and JWTs.

Errors when decoding

  • “This is not valid Base64”: it has characters outside A–Z, a–z, 0–9, + / = (or - _ for URL-safe), or a piece is missing. Copy the whole value again.
  • “This Base64 holds a file or binary data, not text”: it decodes to something like an image or PDF. If it starts with data:image/…, paste the whole data URL into your browser’s address bar to see the picture.
  • URL-safe Base64 decoded as normal (or the other way) gives errors: tick or untick the URL-safe option.

Good to know

  • Emoji, ₹ and Hindi are encoded as UTF-8, the standard, so other tools decode them correctly.
  • Base64 is not encryption. Anyone can decode it. To protect a message, use Encrypt / Decrypt Text.
  • Base64 makes data about a third bigger.

Worked example

Hello becomes SGVsbG8=; नमस्ते becomes a longer string because each Hindi letter uses several bytes.

Open the tool: Base64 Encode / Decode

Still stuck?

Contact support. Tell us which tool or page you were using, what you tapped, what you saw, and your phone or computer and browser (for example: Android phone, Chrome). We reply by email.

Questions, or an error not listed here?

Tell us in the comments: what you were doing, the exact message you saw, and your device and browser. We read every comment and add new fixes to this article.