← Back to Blog

What is Base64 Encoding? A Complete Guide

What is Base64 Encoding?

Base64 is a binary-to-text encoding scheme that represents binary data in an ASCII string format. The name "Base64" comes from the fact that it uses 64 different ASCII characters to represent binary data.

How Base64 Works

Base64 encoding works by taking binary data and converting it into a string of printable ASCII characters. Here's the process:

1. Convert to Binary

First, the input data is converted to its binary representation.

2. Group into 6-bit Chunks

The binary data is divided into groups of 6 bits each. Since 2^6 = 64, each 6-bit group can represent one of 64 values.

3. Map to Characters

Each 6-bit value is mapped to a corresponding character from the Base64 alphabet:

  • A-Z (values 0-25)
  • a-z (values 26-51)
  • 0-9 (values 52-61)
  • + (value 62)
  • / (value 63)

4. Add Padding

If the input length isn't divisible by 3, padding characters (=) are added to make the output length a multiple of 4.

Example

Let's encode "Hi" to Base64:

  • "Hi" in ASCII: 72, 105
  • Binary: 01001000 01101001
  • Regroup to 6 bits: 010010 000110 1001(00)
  • Values: 18, 6, 36
  • Characters: S, G, k
  • With padding: SGk=
  • Why Use Base64?

    Base64 is essential because:

    • Safe transmission: Binary data can be transmitted over text-based protocols
    • No data corruption: Special characters that might be modified in transit are avoided
    • Universal compatibility: Works across different systems and character encodings

    Base64 Size Increase

    Base64 encoding increases the data size by approximately 33%. This is because 3 bytes of input become 4 characters of output.

    Original: 3 bytes = 24 bits

    Encoded: 4 characters = 32 bits (24 bits + 8 bits overhead)

    When to Use Base64

    Use Base64 when you need to:

    • Embed binary data in text formats (JSON, XML, HTML)
    • Send data through email (MIME encoding)
    • Store binary data in databases that only support text
    • Create data URIs for embedding resources

    Try Base64Spark

    Encode and decode Base64 strings instantly with our free online tool.

    Try Base64 Encoder