What the Base64 Alphabet Is
Base64 encodes binary data using 64 printable characters, so every 6 bits of input map to exactly one character. The standard alphabet (RFC 4648) is, in index order:
A-Z → 0–25
a-z → 26–51
0-9 → 52–61
+ → 62
/ → 63
Full Index Table
| Idx | Ch | Idx | Ch | Idx | Ch | Idx | Ch |
|---|---|---|---|---|---|---|---|
| 0 | A | 16 | Q | 32 | g | 48 | w |
| 1 | B | 17 | R | 33 | h | 49 | x |
| 2 | C | 18 | S | 34 | i | 50 | y |
| 3 | D | 19 | T | 35 | j | 51 | z |
| 4 | E | 20 | U | 36 | k | 52 | 0 |
| 5 | F | 21 | V | 37 | l | 53 | 1 |
| 6 | G | 22 | W | 38 | m | 54 | 2 |
| 7 | H | 23 | X | 39 | n | 55 | 3 |
| 8 | I | 24 | Y | 40 | o | 56 | 4 |
| 9 | J | 25 | Z | 41 | p | 57 | 5 |
| 10 | K | 26 | a | 42 | q | 58 | 6 |
| 11 | L | 27 | b | 43 | r | 59 | 7 |
| 12 | M | 28 | c | 44 | s | 60 | 8 |
| 13 | N | 29 | d | 45 | t | 61 | 9 |
| 14 | O | 30 | e | 46 | u | 62 | + |
| 15 | P | 31 | f | 47 | v | 63 | / |
How Padding Works
Base64 processes input in 3-byte (24-bit) groups, producing 4 characters. When the input isn't a multiple of 3 bytes, = pads the output:
| Input bytes | Output | Padding |
|---|---|---|
| 3 | 4 chars | none |
| 2 | 3 chars + = |
one = |
| 1 | 2 chars + == |
two = |
So Man → TWFu (no padding), Ma → TWE=, M → TQ==.
Base64url: The URL-Safe Variant
+ and / are unsafe in URLs and filenames, so the base64url variant swaps them:
| Standard | Base64url |
|---|---|
+ (62) |
- |
/ (63) |
_ |
= padding |
usually omitted |
JWTs, for example, use base64url for their header and payload — which is why you see - and _ but never + or / in a token.
Frequently Asked Questions
What are the 64 characters in Base64?
A–Z (0–25), a–z (26–51), 0–9 (52–61), + (62), and / (63).
What does the = sign mean in Base64?
It is padding. One = means the final group had 2 input bytes; == means it had 1. It keeps the output length a multiple of 4.
What is the difference between Base64 and Base64url?
Base64url replaces + with - and / with _ so the result is safe in URLs and filenames, and usually drops the = padding.
Encode or decode any text with the Base64 converter, and see how it compares to other encodings in Base64 vs Hex Encoding.