UtilityToolsLab

© 2026 UtilityToolsLab. Built and maintained by the UtilityToolsLab Team.

Free eBooks·About·Changelog·Privacy Policy·Terms of Service·Report a bug
HomeBlockchain EncodingBase58 Encoder

Related Tools

RLP EncoderKeccak-256EIP-55 ChecksumSatoshi/BTC

Base58 / Base58Check Encoder

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.

You Might Also Like

All Blockchain Encoding

RLP Encoder

Decode a raw Ethereum RLP payload into its fields, or serialise a nested structure back into bytes. Shows every item, length prefix and nesting level.

Keccak-256

Compute the Keccak-256 hash of text or raw hex bytes entirely in your browser — the Ethereum variant, not NIST SHA-3. No uploads, ever.

EIP-55 Checksum

Apply or validate the EIP-55 mixed-case checksum on any Ethereum address. Shows checksummed, lowercase, and uppercase forms with instant copy.

Satoshi/BTC

Convert between Satoshi, Bit, mBTC and BTC with BigInt precision. No floating-point rounding at the satoshi level, no price feed, no network call.

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.

A Real Example: The Genesis Coinbase Address

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.

What It Accepts on the Way In and Out

  • Encode, Hex bytes: any even-length hex string, with an optional 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.”
  • Encode, UTF-8 text: any text, turned into bytes before conversion. Useful for the short identifiers some systems Base58 for URLs.
  • Decode: a Base58 string. A character outside the alphabet stops it with ““0” is not a Base58 character. The alphabet leaves out 0 (zero), O (capital o), I (capital i) and l (lower L) because they are easy to confuse by eye.”
  • Decode, Base58Check: the last four decoded bytes are treated as the checksum, so the string must decode to at least five bytes. Fewer and you get “Decodes to 3 bytes. A Base58Check string carries a 4-byte checksum, so it needs at least 5.”
  • Input is capped at 100,000 characters.

Tricky Inputs: Leading Ones and a Silent Wrong Answer

  • Every leading 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.
  • Plain Base58 has no checksum, so a one-character typo just decodes to different bytes with no warning at all. That is the entire reason Base58Check was invented, and why an address you paste should always be checked in Base58Check mode.
  • In Base58Check decode, a mismatch shows both values: the checksum the string carries and the one the payload should have produced, flagged as at least one mistyped character. The decoded payload is still shown, so you can see how close the near-miss was.
  • The Load Sample button keeps a separate position for each mode, so pressing it in encode mode and then again in decode mode does not skip an entry in either. Each direction walks its own four samples.
Encoding schemeScheme
Input formatInput is
An optional 0x prefix and whitespace are ignored

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.