AES Encryption Explained: How It Works and Why It Matters
Jun 23, 2026
Encode hex to Base58 and Base58Check (Bitcoin format with checksum), or decode Base58 strings back to hex.
Enter hexadecimal bytes to encode. When Base58Check is enabled, the version byte and checksum are automatically added.
Base58 Output
Raw Data Length
-
Base58 Length
-
Version
-
Enter a Base58 or Base58Check string to decode. When Base58Check is enabled, the version byte and checksum are automatically verified.
Hex Output
Bytes Length
-
Base58 Length
-
Version
-
Checksum
-
Payload Hex
-
All conversion is performed 100% client-side in your browser. No data is sent to any server.
Base58 is an encoding scheme used primarily in Bitcoin and other cryptocurrencies to represent large numbers in a compact, human-readable format. It was designed to be user-friendly by removing visually ambiguous characters (0, O, I, l) that are present in Base64. The alphabet consists of 58 characters:
123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz
Base58Check is an extension of Base58 that adds a version byte prefix and a 4-byte checksum (double SHA-256) for error detection. This is the format used in Bitcoin addresses (P2PKH, P2SH), wallet import format (WIF) private keys, and extended public/private keys (xpub, xprv).
| Version (hex) | Type | Prefix |
|---|---|---|
| 00 | P2PKH (Legacy) | 1 |
| 05 | P2SH | 3 |
| 6f | P2PKH (Testnet) | m/n |
| c4 | P2SH (Testnet) | 2 |
| 80 | WIF Private Key | 5/K/L |
| 0488b21e | xpub (BIP32) | xpub |
| 0488ade4 | xprv (BIP32) | xprv |
Base58Check adds a version byte prefix (identifying the address type) and a 4-byte double-SHA-256 checksum to the raw data before Base58 encoding. This provides error detection and type identification. Raw Base58 is just the encoding without these extras.
Base58 removes 0 (zero), O (capital o), I (capital i), and l (lowercase L) to prevent visual confusion. For example, "0" and "O" look similar, and "1" and "l" can be confused. This makes Base58 addresses easier to read and transcribe manually.
The checksum is the first 4 bytes of the double SHA-256 hash of the payload (version byte + data). It is appended to the payload before Base58 encoding. When decoding, the checksum is extracted and verified against the computed hash, ensuring data integrity.
Base64 uses 64 characters (A-Z, a-z, 0-9, +, /) but includes visually ambiguous characters like 0/O and +//. Base58 removes these ambiguous characters and is optimized for human readability in contexts like cryptocurrency addresses where manual transcription is common.
P2PKH (Legacy, starts with "1") and P2SH (starts with "3") addresses use Base58Check encoding. Bech32 (SegWit, starts with "bc1") and Bech32m (Taproot, starts with "bc1p") use a different encoding system and are not Base58.
Blog
Jun 23, 2026
Jun 23, 2026
Jun 23, 2026
Jun 23, 2026
Jun 23, 2026
Jun 23, 2026