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
Drag & drop file here or browse
Options
×100%
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.
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.