Base64 Encode / Decode

Encode text to Base64 or decode it back — with URL-safe, padding, and data-URI options. Offline.

Your data is processed entirely in your browser and is never uploaded.

Tool workspace

INPUT

Drag & drop file here or browse

Status: Empty0 chars

Options

Direction
Alphabet
Local sandbox active
OUTPUT
Output: Empty0 chars
HOW IT WORKS

Encode or decode in three steps

Paste or upload

Text to encode, or Base64 to decode. It recomputes live as you type.

Pick the variant

Standard or URL-safe alphabet, with or without padding, optionally wrapped as a data URI.

Read & copy

Watch the expansion meter, see what a decoded blob actually is, then copy or download.

FAQ

Frequently asked questions

Is my input uploaded anywhere?

No. Encoding and decoding run entirely in your browser, in a background worker for large inputs. Nothing you paste leaves your machine.

What's the difference between Standard and URL-safe?

Standard Base64 uses + and /, which are awkward inside URLs and filenames. URL-safe swaps them for - and _ and usually drops the = padding — it's what JWTs and most tokens use.

Why does the output get bigger when I encode?

Base64 represents every 3 bytes of input as 4 printable characters, so encoded text is always at least ~33% larger than its byte length — more for non-ASCII, since characters like emoji expand to several bytes first. The meter shows that ratio live.

What does the tag on decode mean?

When you decode, the tool reads the first bytes of the result and names common formats — PNG, JPEG, PDF, GIF, WebP, ZIP, gzip — or marks it as JSON or plain text. If the payload is binary, you get a clean byte count instead of unreadable characters.