Base58 Encoder / Decoder

Bitcoin-style Base58 and Base58Check encode and decode, right in your browser.

Ad placeholder (leaderboard)
Enjoying the tools? Go Pro for £4.99 (one-time) and remove all ads — forever, on this device. Remove ads — £4.99

A complete Base58 and Base58Check encoder / decoder that runs entirely in your browser. Base58 is the binary-to-text encoding behind Bitcoin addresses, WIF private keys, IPFS content IDs and many short-link schemes. It keeps data compact like Base64 but throws away the characters that trip humans up — so the result is safe to read aloud, type by hand and double-click to select. This tool converts text or raw hex into Base58, decodes Base58 back to bytes, and can append or verify the 4-byte checksum that makes a string self-validating.

How it works

Base58 treats your input bytes as a single big-endian arbitrary-precision integer and repeatedly divides by 58, mapping each remainder to one of the 58 alphabet characters: the digits 1-9 and the letters, minus 0, O, I and l. Because the whole input is one number, naive encoding would silently drop leading zero bytes — so the standard prepends one 1 for every leading 0x00 byte and encodes the rest. This tool uses JavaScript BigInt, so it stays exact no matter how long the input is, and it preserves leading zeros in both directions.

Enable Base58Check and the encoder first appends a 4-byte checksum — the first four bytes of SHA-256(SHA-256(payload)), computed with the browser’s Web Crypto API — before encoding. On decode it recomputes that checksum and compares: a mismatch means the string was mistyped or corrupted, and the tool tells you the expected versus actual bytes. You can encode from UTF-8 text or raw hex, and every result shows the underlying bytes in hex with its own copy button.

Example

Encoding the text Gera Tools (10 bytes) gives the Base58 string 8Vw9jWiZ4xN5kT (illustrative). Encoding the hex payload 00 00 5a 1b keeps both leading zero bytes as two leading 1 characters in the output, proving the leading-zero rule. With Base58Check on, the same payload is extended by a 4-byte checksum first, so the encoded string is a few characters longer and any later typo is caught on decode.

TaskInputMode
Encode texthelloEncode · Text
Encode key bytes1a2b3c…Encode · Hex
Verify an address-style stringa Base58 stringDecode · Base58Check

Every byte is computed locally — no addresses, keys or text are ever uploaded.

Ad placeholder (rectangle)