Base64 Encoding Explained — What It Is and When to Use It
Base64 is one of those things developers encounter constantly but rarely fully understand. This guide explains what Base64 is, how it works and when to use it.
What is Base64?
Base64 is an encoding scheme that converts binary data into a text string using 64 printable ASCII characters: A-Z, a-z, 0-9, + and /. The name comes from the 64 characters used.
For example the text "Hello" encoded in Base64 becomes:
SGVsbG8=
Why Does Base64 Exist?
Many systems were designed to handle text but not binary data. Email protocols, HTTP headers and XML/JSON formats all have restrictions on what characters they can safely transport.
Base64 solves this by converting any binary data (images, files, binary strings) into a safe text format that can travel through any text-based system without corruption.
When Do Developers Use Base64?
Embedding images in HTML/CSS
Instead of linking to an image file you can embed it directly as Base64 data.
<img src="data:image/png;base64,SGVsbG8..." />
JWT tokens
JWT tokens use Base64URL encoding for the header and payload sections.
eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIxMjM0In0...
API authentication
HTTP Basic Authentication sends credentials as Base64 encoded strings.
Authorization: Basic dXNlcjpwYXNzd29yZA==
Email attachments
Email protocols (MIME) encode file attachments as Base64.
Content-Transfer-Encoding: base64
Base64 vs Base64URL
Standard Base64 uses + and / characters which have special meaning in URLs. Base64URL replaces these for URL-safe encoding:
| Standard Base64 | Base64URL | Use case |
|---|---|---|
| + | - | URLs, JWT |
| / | _ | URLs, JWT |
| = | (removed) | JWT tokens |
Important: Base64 is NOT Encryption
⚠️ Base64 encoding is NOT encryption. Anyone can decode a Base64 string without a key. Never use Base64 to protect sensitive data like passwords or personal information. Use proper encryption algorithms like AES for security.
Encode or decode Base64 instantly
Free Base64 encoder and decoder — supports standard and URL-safe variants.
Open Base64 Tool →