Base64 Explained: What It Is, When to Use It, and When Not To
The 64-character alphabet that carries binary through text-only systems — embeddings, data URLs, APIs — plus its limits and alternatives.
KPM Editorial · Developer · 2025-09-21 · 5 min read
Binary Doesn't Survive Text Systems
Email bodies, JSON payloads, URLs, and HTML attributes are text. Images, PDFs, and encryption keys are binary. Base64 bridges the gap by re-encoding any 3 bytes as 4 printable ASCII characters — at a fixed 33% size overhead.
How the Alphabet Works
Every 6 bits of input maps to one of 64 characters: A–Z, a–z, 0–9, +, /, with = padding the tail. Because the output is pure ASCII, it passes through systems that would corrupt raw bytes — old mail servers, JSON parsers, and URL query strings.
Everyday Uses
- Data URLs — embedding small images or fonts directly in HTML/CSS (
data:image/png;base64,…). - APIs & JWTs — tokens and keys travel as JSON-safe strings.
- Email attachments — MIME still Base64-encodes files today.
- Debugging — pasting binary blobs into logs, chats, and tickets.
What Base64 Is Not
It is not encryption — anyone can decode it instantly. Never "protect" secrets with Base64. It is also wasteful for large files: a 5 MB image becomes 6.6 MB of text, so prefer real file uploads or binary protocols at scale. For URLs, use the URL-safe variant (- and _ instead of + and /, no padding).
Encode and Decode Locally
KPM's Base64 Encoder/Decoder converts text, files, and images entirely in your browser — handy for building data URLs or inspecting tokens without pasting secrets into a server-side tool.