Free Base64 Decoder

This Base64 decoder turns a Base64 string back into the original text, image or file as soon as you paste it. It runs in your browser, so nothing is uploaded. To create Base64 instead, use the Base64 encoder.

Detected automaticallyURL-safe Base64 (- _), missing = padding, data: URIs and JWTs
Input: 0 charactersDecodes up to 50 MB in your browser
Output: 0 characters

💡 Quick Guide

  • • Auto-Detection: Identifies text, images (PNG, JPEG, GIF, WebP, BMP, SVG, ICO, AVIF) and common files such as PDF, ZIP, MP3 and MP4 by their file signature
  • • Image Preview: Decoded images are shown on a checkerboard so transparency is visible
  • • URL-safe and data URIs: - _ characters, missing padding and "data:…;base64," prefixes are handled automatically
  • • JWT: Paste a JSON Web Token to read its header and payload (the signature is not verified)
  • • UTF-8 Support: Properly decodes international characters and emojis
  • • Private: Decoding runs in your browser; nothing is uploaded

Summary: decode Base64 online, free and private

To decode Base64 for free and without uploading anything, paste the string into the Base64 Input box above. The tool decodes it as you paste: readable text appears in Decoded Output, images are previewed, and other files are identified by their signature, with a hex preview and a download button. The decoding runs in your browser, and the Network tab in your browser's DevTools shows that no request is sent.

Base64 is an encoding that writes bytes using 64 printable characters (A–Z, a–z, 0–9, + and /), with = as padding. Every 3 bytes become 4 characters, so Base64 text is about one third longer than the data it carries. It is not encryption, so decoding needs no key. To go the other way, encode text or files to Base64; for pictures only, see Base64 to image.

Table of Use: what you paste and what you see

You pasteThe tool detectsOutput
SGVsbG8gV29ybGQ=UTF-8 textHello World
SGVsbG8Text, padding missingHello
PDw_Pz8-PgURL-safe Base64 (note shown)<<???>>
4pyTIMOgIGxhIG1vZGU=UTF-8 text with non-ASCII characters✓ à la mode
data:text/plain;base64,SGVsbG8=Data URI, prefix removedHello
A PNG starting iVBORw0KGgoPNG imagePreview with size in pixels; Download Image
A PDF starting JVBERi0PDF documentHex preview; Download File (.pdf)
A token such as eyJhbGciOi… with two dotsJWTHeader and payload as formatted JSON; signature not verified

Features

  • Automatic type detection. Images (PNG, JPEG, GIF, WebP, BMP, ICO, AVIF, HEIC) and files (PDF, ZIP, gzip, 7z, RAR, audio, MP4, fonts) are recognised by their signature, SVG by its <svg> tag and text by valid UTF-8.
  • UTF-8 text. Accents, non-Latin scripts and emoji decode correctly; text that is not valid UTF-8 is treated as a binary file.
  • Image preview. Images appear on a checkerboard so transparency is visible, with their width and height.
  • URL-safe and unpadded Base64. The - and _ alphabet is detected and missing = padding is accepted. Input that mixes both alphabets is refused.
  • Ignore whitespace. On by default, so Base64 wrapped at 76 characters (MIME) decodes. Untick it to report spaces and line breaks as errors.
  • Data URIs and JWTs. The data:…;base64, prefix is removed, and a JWT shows its decoded header and payload.
  • Errors that point at the problem. Messages name a bad character and its position, padding in the middle, an impossible length or a data URI without ;base64.
  • Copy and download. Copy Text works for text, JWTs and SVG. Download saves decoded-text.txt, decoded-jwt.txt, or decoded-image or decoded-file with the detected extension (.bin when the type is unknown). The limit is 50 MB of output, about 70 million Base64 characters.

A JSON payload can be tidied with the JSON formatter or checked with the JSON validator, and Base64 inside a link may first need the URL decoder.

How to Use the Base64 Decoder

  1. Paste your Base64 string, data URI or JWT into "Base64 Input".
  2. Leave "Ignore whitespace" ticked unless you want spaces and line breaks reported as errors.
  3. Read "Decoded Output". The badge next to the label names the result: Text, JWT, an image type, a file type or Binary file.
  4. Click Copy Text, or Download Text, Download Image or Download File (.ext) to save the result.

Who Can Use It

Developers decode API responses and JSON fields that carry Base64, and inspect data URLs found in HTML or CSS. Email administrators decode MIME attachments, and anyone debugging a login flow can read a JWT's claims.

Puzzle solvers can try the HTML entity decoder, the ASCII to text converter or the ROT13 tool. The image to Base64 page encodes a picture instead.

FAQs

How do I decode a Base64 string?

Paste the Base64 text into the Base64 Input box. It is decoded as you paste: readable text appears in Decoded Output, images are previewed, and other files such as PDFs or ZIP archives are identified and shown as a hex preview. Then click Copy Text or a Download button.

How do I know if a string is Base64?

Base64 uses only A–Z, a–z, 0–9, + and / (or - and _ in the URL-safe variant) and may end with one or two = signs. With padding, the length is a multiple of 4. If you are unsure, paste it here: invalid input gets an error saying what is wrong, such as the first bad character and its position or an impossible length. A short word made only of Base64 letters can still decode, usually to a binary file.

Can I decode a JWT with a Base64 decoder?

Yes. Paste the whole token, the three parts separated by dots, and the header and payload are decoded and shown as formatted JSON under a JWT badge. The signature is not checked, so the result shows what the token claims, not whether it is genuine. Never trust a payload just because it decodes.

How do I decode a Base64 data URI or image?

Paste the whole data URI, such as data:image/png;base64,iVBOR…, or only the part after the comma. The "data:…;base64," prefix is removed and a note says so. PNG, JPEG, GIF, WebP, BMP, SVG, ICO and AVIF images are previewed on a checkerboard with their size in pixels, and Download Image saves the file with the right extension.

What is the difference between standard and URL-safe Base64?

Standard Base64 (RFC 4648) uses + and / and pads with =. URL-safe Base64 replaces + with - and / with _ and often drops the padding, so it fits URLs, file names and JWTs. This decoder detects the variant and accepts missing padding, but rejects input that mixes both alphabets.

Why does my decoded Base64 show a hex preview instead of text?

The tool shows text only when the bytes are valid UTF-8. Otherwise the output is labelled Binary file, or the name of a recognised file type, with a hex preview of the first 512 bytes and a Download File button. Text saved in another encoding is shown the same way: café saved as Latin-1 ends in the single byte E9, which is not valid UTF-8.

Is it safe to decode Base64 online?

Decoding runs as JavaScript in your browser, so the Base64 string and the decoded content never leave your device and are not stored. Open the Network tab in your browser's DevTools and you will see no request to any server. Base64 is not encryption, so never rely on it to protect passwords or tokens.