58 symbols · no ambiguous lookalikes · Bitcoin style

Base58 converter

Bitcoin / Flickr-style Base58. Drops 0, O, I, l to avoid visual confusion, and omits + / = for URL safety. Used for Bitcoin addresses, IPFS hashes, and Short URLs where readability matters.

0 chars
encodes to
or decode
0 chars

How to use this tool

  1. Type or paste text into the Text → Base58 box — the Bitcoin-style encoding appears instantly in Base58 output.
  2. Click Copy result to copy the encoded string.
  3. To decode, paste a Base58 string into Base58 → Text and the plain text appears below.
  4. The symbol ribbon lights up to show which of the 58 characters your data uses.
  5. Use Clear any time to reset a box.

Why this tool is helpful

Bitcoin addresses & keys

Wallet addresses and WIF private keys are written in Base58 — decode them to see the raw bytes.

IPFS / multihash CIDs

IPFS content identifiers use Base58 to stay compact and readable.

No lookalike characters

Drops 0 O I l so addresses are safe to read, type, and dictate.

URL & copy friendly

Omits +, /, and =, so strings don't break in URLs or forms.

Compact without symbols

Packs more info per character than Base64-style symbols would allow for human use.

Stay private

Everything runs in your browser. Nothing is uploaded, logged, or sent to a server.

FAQ

What alphabet does Base58 use?

Digits 1–9 and letters A–H J–K M–N P–Z a–k m–z — 58 symbols, deliberately omitting 0 O I l.

Why are 0, O, I, and l removed?

They look too similar in many fonts, which leads to mistakes when reading or typing addresses by hand.

Is Base58 case-sensitive?

Yes. Upper and lowercase letters represent different values, so case matters.

How is it different from Base64?

Base58 removes ambiguous characters and the + / = symbols, so it is slightly longer but much friendlier for humans.

Does Base58 include a checksum?

The encoding itself does not. Bitcoin and IPFS add their own checksums on top for error detection.

Does any of my data leave my browser?

Never. All conversion happens locally in JavaScript.