Base58 encoder and decoder

Paste text or hex bytes to get their Base58 form, or switch to Decode to read a Base58 string. Turn on Base58Check to add or verify the 4-byte double SHA-256 checksum used by Bitcoin addresses. Nothing leaves your browser.

Mode
Bytes as

Runs in your browser: nothing you enter is sent anywhere.

How to use it

  1. Choose Encode or Decode.
  2. Pick whether your bytes are Text (UTF-8) or Hex bytes. Hex may contain spaces, commas or 0x prefixes.
  3. Turn on Base58Check to add a checksum when encoding or to verify and strip it when decoding.
  4. Copy the result.

How it works

The bytes are read as one big-endian number and written in base 58 with the Bitcoin alphabet. Each leading zero byte becomes the character 1. For Base58Check, the checksum bytes are the first four bytes of SHA-256 applied twice to the payload and are appended before encoding.

Example: the text a is the single byte 0x61 = 97 = 1 × 58 + 39, which is 2g. The hex bytes 00 00 01 become 112: two leading zeros give 11 and the value 1 gives 2.

Tips and common mistakes

  • The Bitcoin genesis address 1A1zP1eP5QGefi2DMPTfTL5SLmv7DivfNa decodes with Base58Check to 00 62e907b15cbf27d5425399ebf6f0fb50ebb88f18.
  • Base58 is not encryption and not a checksum by itself; only Base58Check detects typos.
  • When decoding binary data, use Hex bytes: most payloads are not readable text.

Frequently asked questions

Which Base58 alphabet is used?

The Bitcoin alphabet, 123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz. It leaves out 0, O, I and l because they look alike. Other variants such as Flickr or Ripple order the characters differently and are not covered here.

What is Base58Check?

It appends the first 4 bytes of SHA-256(SHA-256(payload)) to the payload before Base58 encoding. The checksum lets software detect typos. Bitcoin addresses are Base58Check of a version byte plus a 20-byte hash.

Why do leading zero bytes become 1s?

Base58 treats the bytes as one big number, which would drop leading zeros. Each leading 00 byte is therefore written as the first alphabet character, 1, and restored when decoding.

How do I check a Bitcoin address?

Choose Decode, Bytes as Hex bytes and turn on Base58Check. A valid address shows the version byte plus hash in hex, for example 00 followed by 20 bytes for a classic address. A typo gives a checksum error. Bech32 addresses (bc1...) use a different encoding.

Is my data sent anywhere?

No. Both the encoding and the SHA-256 checksum are computed in your browser.

More in Developer

All tools in this category: Developer ·Updated November 3, 2026

Privacy choices

Google Analytics shows us which tools are used and whether they work. It may set cookies. Your choice is kept in this browser.