Base64

What is Base64 Encoding and How Does it Work?

What is Base64 Encoding?

Base64 is a binary-to-text encoding scheme that converts binary data into a text string using a set of 64 printable ASCII characters. It's widely used in web development, email systems, and data transmission where binary data needs to be transferred over systems designed to handle text.

How Does Base64 Work?

Base64 encoding follows a simple three-step process:

  1. Divide into 6-bit chunks: The binary input is divided into groups of 6 bits (since 2^6 = 64 possible values)
  2. Map to characters: Each 6-bit group is mapped to one of 64 characters (A-Z, a-z, 0-9, +, /)
  3. Add padding: If needed, padding characters (=) are added to ensure the output length is a multiple of 4

The Base64 Character Set

The standard Base64 alphabet uses these 64 characters:

  • A-Z: Uppercase letters (indices 0-25)
  • a-z: Lowercase letters (indices 26-51)
  • 0-9: Digits (indices 52-61)
  • +: Plus sign (index 62)
  • /: Forward slash (index 63)
  • =: Padding character

Practical Example

Let's encode the text "Hi!" to Base64:

Text:   H       i       !
ASCII:  72      105     33
Binary: 01001000 01101001 00100001
Split:  010010 000110 100100 100001
Pad:    010010 000110 100100 100001 (no padding needed)
Base64: S      G      k      h
Result: SGkh

Common Use Cases

1. Embedding Images in HTML/CSS

Base64 allows you to embed images directly in HTML or CSS without separate HTTP requests:

<img src="data:image/png;base64,iVBORw0KGgoAAAANS..." />

2. Email Attachments

SMTP (email) protocol uses Base64 to encode binary attachments into text format for safe transmission.

3. Data URLs

Encode small files directly in URLs for quick loading without additional HTTP requests.

4. API Credentials

Many APIs use Base64 for encoding credentials in HTTP headers (though it's NOT encryption!).

Base64 vs Other Encodings

Feature Base64 Hex Binary
Size Increase ~33% 100% 0%
Readability Moderate Good Poor
URL Safe No (+ and /) Yes No

Important Things to Remember

Base64 is NOT encryption! It's just encoding. Anyone can decode Base64 data instantly. Never use it to hide sensitive information.

When NOT to Use Base64

  • Large files: 33% size increase can be significant for big files
  • Security: Don't use Base64 to "hide" passwords or secrets
  • Performance: Encoding/decoding adds CPU overhead
  • SEO: Search engines can't index Base64-encoded images

Try It Yourself

Ready to encode or decode Base64 data? Use our free online tool:

Conclusion

Base64 encoding is a fundamental technique in web development for converting binary data to text. While it increases data size by about 33%, it enables binary data transmission over text-based protocols. Remember that Base64 is encoding, not encryption—use it for compatibility, not security.