Base58 Encode String
Encode any text string to Base58 format online. Supports Bitcoin and Flickr alphabets with real BigInt division algorithm. Free, instant, client-side.
About
Base58 encoding maps arbitrary byte sequences onto an alphabet of 58 visually unambiguous characters, deliberately excluding 0 (zero), O (uppercase o), I (uppercase i), and l (lowercase L) to eliminate transcription errors in manual copying. The encoding converts a byte array into a base-58 numeral by treating the input as a single big-endian unsigned integer, then performing repeated division by 58. Each leading 0x00 byte maps to the character 1 (index zero), preserving information that pure numeric conversion would discard. A single misread character in a wallet address or API key can route funds irreversibly to a dead address or fail authentication silently.
This tool implements the full BigInt-based Base58 algorithm client-side with no server round-trips. It supports both the Bitcoin alphabet (123456789ABCDEFGHJKLMNPQRSTUVWXYZ abcdefghijkmnopqrstuvwxyz) and the Flickr variant (which swaps uppercase and lowercase). Note: this encoder operates on raw UTF-8 bytes. It does not append a Base58Check checksum. For checksum-protected encoding, a SHA-256 double-hash step is required separately.
Formulas
The encoding converts a byte array B of length n into a big-endian unsigned integer, then extracts Base58 digits by modular arithmetic:
Then repeatedly divide by 58:
Digits are collected in reverse order. Each leading 0x00 byte in the original array prepends the character at alphabet index 0 (which is 1 in the Bitcoin alphabet).
Where: Bi = the i-th byte of the UTF-8 encoded input string. N = the integer representation of the full byte array. digitk = the k-th Base58 character (mapped via the alphabet lookup). The output length is approximately log58(256n) ≈ n × 1.3656.
Reference Data
| Index | Bitcoin Char | Flickr Char | Index | Bitcoin Char | Flickr Char |
|---|---|---|---|---|---|
| 0 | 1 | 1 | 29 | W | w |
| 1 | 2 | 2 | 30 | X | x |
| 2 | 3 | 3 | 31 | Y | y |
| 3 | 4 | 4 | 32 | Z | z |
| 4 | 5 | 5 | 33 | a | A |
| 5 | 6 | 6 | 34 | b | B |
| 6 | 7 | 7 | 35 | c | C |
| 7 | 8 | 8 | 36 | d | D |
| 8 | 9 | 9 | 37 | e | E |
| 9 | A | a | 38 | f | F |
| 10 | B | b | 39 | g | G |
| 11 | C | c | 40 | h | H |
| 12 | D | d | 41 | i | J |
| 13 | E | e | 42 | j | K |
| 14 | F | f | 43 | k | L |
| 15 | G | g | 44 | m | M |
| 16 | H | h | 45 | n | N |
| 17 | J | i | 46 | o | P |
| 18 | K | j | 47 | p | Q |
| 19 | L | k | 48 | q | R |
| 20 | M | m | 49 | r | S |
| 21 | N | n | 50 | s | T |
| 22 | P | o | 51 | t | U |
| 23 | Q | p | 52 | u | V |
| 24 | R | q | 53 | v | W |
| 25 | S | r | 54 | w | X |
| 26 | T | s | 55 | x | Y |
| 27 | U | t | 56 | y | Z |
| 28 | V | u | 57 | z | 0 |