Candid Tools

Base64 Decoder & Encoder

Base64 Decoder turns Base64 back into text, images or files (and encodes text or files to Base64) in your browser, including data: URIs and URL-safe Base64.

At a glance

Accepts
Base64 text (plain, URL-safe or a data: URI), or any text or file to encode
Outputs
Decoded text, an image preview, or a file download with the right extension; or Base64 text to copy
Where it runs
Entirely in your browser, on your device
What leaves your device
Nothing - what you type stays in this tab
Limits
No size or count cap; bounded by your device's memory; files to encode are capped at 50 MB
Account
Not required - there is no sign-up
Price
Free, with no watermark and no usage cap
Made by
Visrut
Last updated
11 October 2026

Base64 turns any bytes into plain letters and digits, so images, files and binary data can travel inside JSON, emails, URLs and HTML. This page reverses it: paste Base64 and get back the text, or the image or file it holds, ready to preview and download. It also works the other way, encoding text or a file you pick. Everything happens in your browser.

How to use it

  1. Decode: paste Base64 (a data:...;base64, prefix, line breaks and URL-safe characters are all fine). Text appears straight away; an image shows a preview; any file can be downloaded.
  2. Encode: switch to Encode, then type text or pick a file. Tick URL-safe for JWT-style output, or data URI to paste straight into HTML or CSS.

Frequently asked questions

Is what I paste sent to a server?

No. Decoding and encoding run in your browser with its built-in Base64 functions. Nothing you paste or pick leaves this tab.

How do I turn Base64 into an image?

Paste the Base64 (with or without the "data:image/png;base64," prefix). The decoder recognises PNG, JPEG, GIF, WebP, SVG, BMP and ICO from the first bytes, shows a preview, and lets you download it with the right file extension.

What is URL-safe Base64?

A variant that uses - and _ instead of + and /, often without = padding, so it can sit in URLs and JWTs. The decoder accepts both automatically; when encoding, tick URL-safe to produce it.

Why does it say my Base64 is invalid?

Base64 only uses A-Z, a-z, 0-9, + and / (or - and _), with = only at the end. The error names the first character that doesn't fit and where it is. A length that can't be Base64 usually means part of it was cut off when copying. Spaces and line breaks are ignored.

Can it decode a JWT?

Each JWT part is URL-safe Base64, so paste the middle part (between the two dots) to read the payload JSON. It doesn't verify the signature.

Is Base64 encryption?

No. It's an encoding: anyone can decode it, with no key. Don't use it to hide passwords or secrets.