Skip to main content

Base64 Encoder & Decoder

Encode text to Base64 or decode it back, instantly and in your browser. Supports UTF-8, URL-safe output and line wrapping. Nothing is uploaded.

This tool runs entirely in your browser. Nothing you enter is sent to our servers, so there is nothing for us to store or see.

About the Base64 Encoder & Decoder

Base64 turns arbitrary bytes into plain ASCII, which is why it shows up everywhere a binary value has to survive somewhere that only accepts text: data URIs, JSON payloads, email attachments, JWT segments and HTTP basic auth headers.

This tool converts in both directions and handles UTF-8 correctly, which is where most online Base64 tools quietly fail. Accented characters, emoji and non-Latin scripts are encoded through their real UTF-8 bytes rather than being mangled into question marks.

URL-safe mode swaps the + and / characters for - and _ and drops the padding, which is the variant used in JWTs and query strings. Everything runs in your browser, so credentials and tokens you paste here never reach a server.

How to use the Base64 Encoder & Decoder

  1. Pick a direction

    Choose Encode to turn text into Base64, or Decode to turn Base64 back into text.

  2. Paste your input

    Type or paste into the left box, or drop a text file onto it. Conversion happens as you type.

  3. Choose a variant if needed

    Turn on URL-safe for JWT or query-string use. Turn on line wrapping for MIME-style output at 76 characters.

  4. Copy the result

    Use Copy to put the output on your clipboard, or Download to save it as a text file.

Frequently asked questions

Is Base64 a form of encryption?

No, and this matters. Base64 is an encoding, not encryption — anyone can decode it in seconds with no key, exactly as this page does. Never use it to protect a password, token or anything else sensitive. It exists to make binary data survive text-only transport, nothing more.

Why does my decoded text look like nonsense?

Usually the input was not Base64 to begin with, or it was truncated when copied. Valid Base64 uses only A-Z, a-z, 0-9, plus and slash, with optional equals-sign padding at the end. If your string contains other characters it may be URL-safe Base64 — turn on the URL-safe option and try again.

Does it handle emoji and non-English text?

Yes. Input is converted through its UTF-8 byte sequence before encoding, so emoji, accented Latin, Cyrillic, Arabic, Devanagari and CJK characters all round-trip exactly. Many Base64 tools use a naive byte conversion that corrupts anything outside ASCII.

What is URL-safe Base64?

Standard Base64 uses plus and slash, both of which have special meaning in URLs and would need escaping. The URL-safe variant substitutes hyphen and underscore and usually omits the trailing equals padding. It is what JSON Web Tokens use for every segment.

Is anything I paste here sent to your server?

No. The conversion runs entirely in your browser using its built-in encoding functions. That is deliberate: people routinely paste API keys and auth headers into Base64 tools, and the only safe way to handle that is never to receive it.