How to use the Base58 Encoder
Encode text to Base58 in three steps:
1
Paste your input
Paste plain text or a hex string into the input area. For hex input, enable the 'Input is hex' toggle.
2
Choose encoding variant
Select standard Base58 or Base58Check (adds a 4-byte SHA-256d checksum to the end for error detection).
3
Copy the encoded output
The Base58 string appears using only the unambiguous alphabet characters. Copy or download the result.
When to use this tool
Use Base58 encoding for cryptocurrency, IPFS, and human-typeable identifiers:
- →Encoding binary data for Bitcoin address generation, WIF (Wallet Import Format) private keys, or other Bitcoin protocol fields
- →Generating Base58-encoded content identifiers (CIDs) compatible with IPFS and other distributed file systems
- →Encoding identifiers that will be displayed to users and manually typed — Base58 eliminates ambiguous characters that cause transcription errors
- →Producing compact encoded strings for URL shorteners, voucher codes, or invitation tokens where readability matters
- →Encoding data for Solana, Ripple/XRP, Flickr, and other systems that use Base58 or variants of it
- →Educational exploration of how Bitcoin addresses are derived and encoded from public keys
Frequently asked questions
Q:What is Base58 and why was it created?
Base58 was created by Satoshi Nakamoto for Bitcoin to produce compact, human-readable identifiers that avoid transcription errors. It uses 58 characters: all alphanumeric characters except 0 (zero), O (capital O), I (capital I), and l (lowercase L) — the four characters most likely to be misread or confused with each other. The result is an encoding that is slightly less efficient than Base64 but far safer for human transcription.
Q:What is Base58Check and when should I use it?
Base58Check is a variant of Base58 that appends a 4-byte checksum derived from the double-SHA-256 hash of the payload before encoding. This allows decoders to verify that the data was not corrupted or mistyped. Bitcoin addresses, WIF private keys, and extended public/private keys (xpub/xprv) all use Base58Check encoding. Use Base58Check when the encoded value will be manually entered by users or transmitted through error-prone channels.
Q:What is the Base58 alphabet?
The Bitcoin Base58 alphabet is: 123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz. Note that the digits 0 and the letters O, I, and l are absent. Different applications use slightly different Base58 alphabets — Flickr's Base58 swaps uppercase and lowercase letters. This tool uses the Bitcoin/IPFS standard alphabet.
Q:How does Base58 differ from Base64?
Base58 uses 58 printable characters vs Base64's 64. Base58 excludes + and / (which are URL-unsafe in Base64), 0, O, I, and l (which cause transcription errors). Base58 output is slightly longer than Base64 for the same input. Base58 has no padding characters. Base64 is more widely supported and more efficient; Base58 is preferred for cryptocurrency identifiers and human-copyable codes where readability and error prevention matter more than compactness.
Q:Does IPFS use the same Base58 as Bitcoin?
IPFS (InterPlanetary File System) uses the same Bitcoin Base58 alphabet for its CIDv0 content identifiers (the ones beginning with 'Qm'). CIDv1 identifiers use a different encoding called multibase. When you see an IPFS hash starting with 'Qm', it is Base58-encoded using the Bitcoin alphabet and can be decoded with this tool.
Q:Is Base58 suitable for use in URLs?
Yes — Base58 contains no characters with special meaning in URLs (no +, /, =, or %). All 58 characters are URL-safe and can be used directly in URL paths and query parameters without percent-encoding. This makes Base58 popular for URL shorteners, API tokens, and invite codes. For URL query parameters, Base64url (using - and _) is the more common alternative.