A precision tool for encoded data

The Base64 decoder & encoder, built right. Free, fast, and accurate to the byte.

The free online Base64 decoder for text, JWTs, images, and files. Decode any Base64 string instantly — live mode, 50+ character sets, URL-safe handling, line-by-line decoding, hex output. The Base64 encoder works the same way: paste text, drop a file, get clean Base64. Everything runs in your browser — your data never leaves the page.

100% client-side Live mode 50+ encodings URL-safe ready Mobile-friendly
Base64 Decoder
Off
Or drop a file containing Base64 text, or a binary file to encode
Click to browse · max 50 MB
/Ctrl+Enter Decode /Ctrl+K Clear /Ctrl+L Copy link
Stats
0chars
Paste something to see live stats.
Input length0
Output length0
Format
Padding
StatusIdle
64characters in the alphabet
50+character encodings
0bytes leave your browser
100%free, forever
What it does

One tool, every Base64 task.

Three steps from encoded to readable.

Most Base64 tools are either bare-bones (paste → result, no options) or buried in enterprise feature creep. This sits right in the middle — built for developers debugging API payloads, security folks reviewing tokens, and anyone who just got a Base64 string in an email and needs to see what's inside.

Read the full How It Works guide →

01

Paste the Base64 string

Drop your encoded text into the input area. Whitespace, line breaks, and missing padding are all handled automatically. Standard and URL-safe formats both work.

02

Pick a character set (or leave it on UTF-8)

UTF-8 covers virtually all modern text. If the original was encoded on an older Windows or regional system, choose the matching ISO-8859, Shift-JIS, or Big5 variant from the dropdown.

03

Decode and copy

Click Decode — or flip on Live mode and watch the output update as you type. Copy the result, share a link, or move straight into encoding the next thing.

Questions, answered

Things people actually ask.

Base64 is a method of converting binary data — like images, files, or non-ASCII text — into a string of 64 ASCII characters (A–Z, a–z, 0–9, +, /). It's used when binary needs to travel through text-only channels like email, JSON, URLs, or HTML. It is not encryption; anyone can decode it back to the original. Read the full primer →
No. Base64 is a reversible encoding scheme — anyone can decode it without a key. It is not designed for security. If you need to protect data, use real encryption like AES or RSA, and then optionally Base64-encode the ciphertext for transmission. More on this →
No. All decoding and encoding happens entirely in your browser using JavaScript. Nothing is uploaded, stored, logged, or transmitted. Even if you lose your internet connection mid-session, the tool still works.
Standard Base64 uses + and / characters, which have special meaning in URLs. URL-safe Base64 (RFC 4648) replaces + with - and / with _ so the encoded string can be used safely in URLs and filenames. Our decoder auto-detects and handles both formats. Full explainer →
Usually because the wrong character set was selected. Try UTF-8 first — it covers most modern text. If the original was encoded on a Windows system with regional text, try Windows-1252 or the matching ISO-8859 variant. If the Base64 represents binary (an image, PDF, or executable), it won't render as readable text at all.
Base64 strings only contain A–Z, a–z, 0–9, +, /, and = (padding). If your input has spaces, newlines, or other characters, try removing them. Also check that the total length is a multiple of 4 — if not, padding (=) may be missing. Our tool ignores whitespace and tolerates missing padding automatically. Troubleshooting guide →
It's padding. Base64 encodes data in 3-byte groups that produce 4 Base64 characters. When the input length isn't divisible by 3, one or two = signs are appended so the output length is a multiple of 4. One = means one byte of padding; two == means two.
Yes — turn on the "Decode each line separately" checkbox. Paste one Base64 string per line and the tool will decode each independently, returning the results on matching output lines.