Base64 Encode & Decode
I don’t encrypt. I encode. Know the difference.
Paste Base64 or text. I’ll pick the direction.
Ctrl+Enter runs · drop a file on this pane
Base64 hides nothing. It just changes clothes.
Decode Base64 to text, or encode text to Base64. It runs in your browser: your text never leaves it, and every bad character gets a line and a column.
How it works
- Paste Base64 or text, or drop a file. I pick the direction; switch Decode or Encode if you disagree.
- For Encode, pick Standard or URL-safe and turn padding on or off.
- Copy the result or download the exact bytes. JSON inside? Format it in the Formatter.
Base64 is not encryption
Base64 writes bytes with 64 safe characters so they survive email, URLs and config files. There is no key: anyone can turn it back in one step. A Kubernetes Secret or a Basic auth header in Base64 is as readable as plain text. Protect secrets with encryption and access control, not with Base64.
FAQ
Is my data sent anywhere?
No. Decoding and encoding run in your browser, and your text never leaves it: this page makes no requests to our API. It only sends usage statistics tied to a random device ID, such as the mode and sizes, never the content. The one exception is your call: Format in Formatter opens the decoded text in the Formatter, and the Formatter sends it to our API.
Standard or URL-safe?
Standard uses + and /. URL-safe uses - and _ instead, so the result fits in URLs and file names without escaping. Decode reads both, as long as one input sticks to one alphabet.
Is missing padding a problem?
No. Padding is one or two = at the end that round the length up to a multiple of four. Decode works with or without it; Encode adds it unless you turn Padding off. An = in the middle is an error.
Can it decode a JWT?
One part at a time. A JWT is three Base64url parts joined by dots: header, payload and signature. Paste the middle part to read the payload. The signature isn’t checked here.
Other tools
- JSON Formatter — 2 spaces, 4 spaces or tabs, order kept.
- JSON Validator — exact line and column for every error.
- JSON Diff — what changed, with JSON Pointer paths.
- JSON to Query String — arrays, nesting and spaces your way, and back.
- JSON Minifier — one line, every byte accounted for.
- JSON to YAML — same order, same numbers, safe quoting.