TOOL-15 · Encoding

Base64 encoder / decoder

Encode or decode Base64 strings instantly. Standard, URL-safe, and hex modes supported. Nothing leaves your device.

Mode

Could not decode — input may not be valid Base64

What Base64 actually is

Base64 turns arbitrary binary data into plain ASCII text using 64 printable characters (A–Z, a–z, 0–9, +, /), so it can safely travel through systems that only handle text — email attachments, JSON fields, data URIs embedded in CSS or HTML, and HTTP Basic Auth headers all rely on it. It's not encryption or compression; it's purely a format conversion, and it makes data about 33% larger in the process (3 bytes of binary become 4 characters of text).

When you'd actually reach for this

Common cases: decoding a JWT's payload (each of the three dot-separated sections is Base64), embedding a small image directly in CSS via a data URI, inspecting what an API is actually sending in a Basic Auth header, or converting a binary file to paste somewhere that only accepts text.

Is Base64 encryption?

No — anyone can decode Base64 with no key at all, it's a pure format conversion, not a security mechanism. Never use it to protect sensitive data; use actual encryption for that.

Why does the output look longer than the input?

Base64 encodes 3 bytes of input as 4 characters of output, a fixed 33% size increase. This is expected and unavoidable — it's the cost of representing arbitrary binary data as printable text.

Why did decoding fail on my input?

Valid Base64 uses only A–Z, a–z, 0–9, +, /, and = as padding, with a total length that's a multiple of 4. Whitespace, line breaks, or a URL-safe variant (which swaps +/ / for - / _) will fail standard decoding — strip whitespace or convert the character set first.

All encoding runs locally · No data sent