Encode bytes or text to Base58 and Base58Check, or decode a Base58 string back to hex with a full checksum check. Runs entirely in your browser.
Base58 exists because people copy addresses by hand. It is Base64 with the four glyphs a tired eye confuses taken out (no zero, no capital O, no capital I, no lower-case L), so a string read off a screen or a paper wallet lands intact. Bitcoin addresses, WIF private keys, extended public keys and IPFS v0 content IDs are all written this way.
This tool runs the encoding in both directions and in both variants. Plain Base58 is a raw big-integer base conversion and nothing more. Base58Check wraps the payload with a four-byte checksum, the first four bytes of SHA-256(SHA-256(payload)), and verifies it when you decode. That check is the mechanism that makes a mistyped Bitcoin address fail loudly instead of eating your coins.
The box opens in encode mode holding 0062e907b15cbf27d5425399ebf6f0fb50ebb88f18, the 21-byte payload behind Bitcoin’s very first address. With Base58Check selected it encodes to 1A1zP1eP5QGefi2DMPTfTL5SLmv7DivfNa. The readout notes a version byte of 0x00, and that single zero byte is why the address starts with a 1. Leading zero bytes sit outside the number, so the base conversion drops them and re-attaches one 1 per lost byte. Press Round trip and the string is pushed straight into the decoder, which reports the payload back as the same hex plus a green Checksum matches line.
0x prefix and whitespace stripped. An odd digit count is refused with “Hex needs an even number of digits — this has 41, so one nibble has no byte to sit in.”1 in a Base58 string is a 0x00 byte, not a digit. Decode 11Kj767vqkD5A99NsgyYSG5FQUzGLE1dR and the output opens with 0000. The tool spells this out with a “leading ‘1’ characters” line.Enter bytes to turn them into a Base58 string. Load Sample uses the Bitcoin genesis coinbase address.
Base58 is a raw base conversion — it carries no checksum, so a typo decodes to different bytes without any warning. Base58Check appends four bytes of SHA-256(SHA-256(payload)) and verifies them on the way back, which is what makes a Bitcoin address self-checking. Everything is computed in this tab.