Tooleux

Decode Base64 back to a file. Paste Base64 text, get a downloadable file.

Runs in your browser. Nothing leaves your device.
Decode Base64 back to a file. Paste Base64 text in your browser, decode it, and download the resulting file. Free, offline, runs entirely client-side. Read more Show less

What is

Base64 is a binary-to-text encoding. It represents arbitrary bytes using a limited set of printable ASCII characters, so that binary data can be safely transmitted through systems that only handle text: email bodies, JSON strings, URL parameters, configuration files.

This tool encodes a whole file rather than a short string, and produces a text output that can be copied or downloaded as .txt. For the text-only version, see Base64 Encode.

How to use

Paste the Base64 text into the input box, or drop a .txt file containing the encoded text. The tool decodes it live and shows the decoded file size. Click Download to save the result.

Everything runs in your browser - the encoded text never leaves your device.

FAQ

Is there a file size limit?

Yes - 5 MB on the encode side. Larger files produce enormous text that is impractical to display in a browser textarea. For huge files, use the equivalent command-line tool (see the CLI section below).

Is my file uploaded anywhere?

No. Everything runs in your browser. You can verify this by opening your browser's Network tab - no requests are sent after page load.

How much does Base64 inflate the size?

Hex doubles the size (2 characters per byte). Base32 expands by 8/5 (1.6-). Base58 expands by roughly 1.37-. Base64 expands by 4/3 (1.33-). The output metadata shows the exact ratio for your file.

Which encoding should I pick?

Base64 is the most common and the most compact of the four. Hex is the easiest to read by eye. Base32 is used in DNS and some TOTP secrets. Base58 is used by Bitcoin and IPFS. If you have no specific requirement, use Base64.

Command line equivalent
# Node - encode a file to Base64
node -e '
const fs = require("fs");
const buf = fs.readFileSync("input.bin");
const out = buf.toString("base64");
fs.writeFileSync("output.txt", out);
'

# Command line tools
# Hex:    xxd -p input.bin > output.txt
# Base32: base32 input.bin > output.txt  (coreutils)
# Base58: use a Bitcoin CLI tool
# Base64: base64 input.bin > output.txt
Base64 input