Base58 uses these 58 characters (removing ambiguous 0, O, I, l):
This Base58 encoder/decoder is simple yet feature-rich. Here is a detailed guide:
Encoding: Enter the text you want to encode in the input box (supports all Unicode characters including Chinese and Emoji). The tool converts the text to UTF-8 bytes and then encodes them into Base58. The result contains only digits and letters—no special symbols—making it ideal for URLs, QR codes, and manual transcription. Character and byte count statistics below the input help you gauge data size.
Decoding: Paste a Base58 encoded string into the input box. The tool automatically detects and attempts to decode it. With "Auto-detect decode" enabled, valid Base58 strings trigger automatic decoding. The decoded text appears in the result area and can be copied or processed further.
Swap and Clear: Click "Swap" to exchange input and result, useful for chaining operations. Click "Clear" to reset everything instantly.
Base58 encoding is widely used in cryptocurrency and distributed systems. Here are typical scenarios:
Bitcoin Address Encoding: Bitcoin uses Base58Check encoding for public key hash addresses. Base58Check adds a version byte and a 4-byte double SHA-256 checksum on top of Base58, ensuring the address cannot be accidentally altered during transmission. Bitcoin addresses starting with 1, 3, or bc1 are Base58-encoded and shorter than hexadecimal alternatives, with no special characters to complicate copying between wallets.
Cryptocurrency Wallet Addresses: Beyond Bitcoin, Litecoin, Dogecoin, and many other cryptocurrencies use Base58 for wallet addresses. Base58 was specifically designed to avoid character confusion—users frequently transcribe addresses manually, and removing 0/O/I/l dramatically reduces the risk of asset loss due to transcription errors.
IPFS Content Identifiers: IPFS (InterPlanetary File System) uses Base58 to encode Content Identifiers (CIDs). A CID uniquely identifies data in IPFS, and Base58 encoding makes it compact and easy to propagate via IPFS gateway URLs, clipboard sharing, and QR codes.
Short Links and Key Sharing: Base58 strings are shorter than hexadecimal and "cleaner" than Base64 (no +/= special characters), making them excellent for generating short links, sharing keys, or encoding tokens. The advantage becomes even more pronounced in scenarios requiring manual entry.
Base58 Encoding Principle: Base58 maps binary data to 58 ASCII characters. Unlike Base64, which encodes 3 bytes into 4 characters, Base58 uses big-integer arithmetic: the input bytes are treated as a single large integer, repeatedly divided by 58 with remainders mapped to the character set. Because 58 is not a power of 2, conversion between byte boundaries and character boundaries is required, making Base58 slightly less efficient than Base64.
Base58 vs Base64: Base58 removes visually ambiguous characters from Base64 (0, O, I, l, +, /), using only digits and letters. This design trades approximately 5% encoding efficiency for significantly improved human readability and transcription accuracy. Base58-encoded strings are about 7% longer than Base64, but in scenarios involving manual entry, this trade-off is entirely worthwhile.
Base58Check Encoding: Base58Check is an enhanced version of Base58 widely used in Bitcoin and other cryptocurrencies. It prepends a version byte to the raw data and appends a 4-byte checksum (the first 4 bytes of the double SHA-256 hash of the versioned data). This allows integrity verification during decoding, preventing loss from transcription errors or tampering.
Related Encoding Schemes: Besides Base58, there are Base32 (RFC 4648, using A–Z and 2–7), Base64 (most common, 64 characters), Base85 (Ascii85, higher encoding efficiency, used in PDF and Git patches), and Base91 (91 characters, approaching maximum efficiency). Different scenarios choose different encoding schemes to balance readability, transmission efficiency, and compatibility.
Base58 removes visually ambiguous characters from Base64 (such as 0, O, I, l, +, /), using only numbers and distinguishable letters. This design significantly reduces human transcription errors, making it ideal for Bitcoin addresses, cryptocurrency wallet addresses, and other scenarios requiring manual entry.
No. Base58 is an encoding scheme, not an encryption algorithm. It merely converts binary data into printable characters and provides no confidentiality protection. Anyone can decode a Base58 string to retrieve the original data.
Bitcoin uses Base58Check encoding for public key hash addresses. Base58Check adds a version byte and a 4-byte double SHA-256 checksum on top of Base58. This prevents accidental tampering during transmission, while the Base58 character set avoids ambiguous characters, improving manual copying accuracy.
Yes. Base58 encoding increases data size by approximately 38% compared to the original binary, slightly more than Base64's 33%. This is because Base58 uses only 58 characters, with each character representing about 5.86 bits of information.
IPFS (InterPlanetary File System) uses Base58 to encode Content Identifiers (CIDs). Base58 strings are shorter and contain no special characters, making them easy to propagate via URLs, clipboard sharing, and QR codes, while avoiding confusion between similar-looking letters and numbers.
This tool supports standard Base58 encoding and decoding. For Base58Check (with version byte and checksum), you can preprocess your data (add the version byte and compute the double SHA-256 checksum) and then use this tool for the Base58 encode step.
Yes. The tool uses the TextEncoder API to convert text to UTF-8 bytes before Base58 encoding, fully supporting Chinese, Emoji, and all other multi-byte characters.
No. This tool is a pure frontend implementation. All encoding and decoding operations are performed locally in your browser. Your data never leaves your device, ensuring complete privacy and security.