Base58 Encode / Decode

Base58 (Bitcoin alphabet) encoding and decoding online: no 0OIl confusables, exact big-integer conversion — used by addresses, IPFS CIDs and keys. Runs locally.

Files stay local Max 2MB

Options

What this tool does

Base58 became famous through Bitcoin: a 58-symbol alphabet that deliberately drops 0 (zero), O (capital o), I (capital i) and l (lowercase L) — the four most confusable characters — and avoids + / which need URL escaping. Bitcoin addresses, IPFS CIDv0 (Qm-prefixed) and some key formats all use it.

Unlike Base32/64, Base58 treats the whole byte string as one big integer in base 58 rather than splitting bits into 5/6-bit groups — leading zero bytes map to 1s and output length does not vary regularly. This page converts exactly with BigInt. Everything runs locally.

How to use

  1. Pick encode or decode Encode converts text to Base58; decode restores Base58 to UTF-8 text, erroring clearly on binary payloads.
  2. Check the alphabet If your string contains 0, O, I or l, it cannot be standard Base58 — maybe Base62/68 or another variant; this page will point out the offending character.

FAQ

Can an IPFS CIDv0 be decoded into text?

Technically decodable, but the result is binary (a multihash), not text — this tool errors clearly rather than printing mojibake. Use IPFS tooling to inspect CIDs.

Base58 vs Base58Check?

Base58Check = version byte + payload + 4-byte checksum, all Base58-encoded. Address checksum failures are in those trailing 4 bytes; this tool does pure conversion only.

Why is the output longer than Base64?

58 < 64 means each symbol carries slightly less information, and there is no bit-alignment padding. Typically a few percent longer than Base64, in exchange for URL-friendliness and no confusable characters.

My string has + or / — is it Base58?

No. + or / indicates Base64. The Base58 alphabet contains no symbols at all — the quickest visual check.

Does it handle very long text?

Yes — BigInt does not fear length; input up to 2MB per run. Very long texts (tens of thousands of chars) spend their time in big-number division, still within seconds.

Is my content uploaded?

No. Encoding and decoding run in a browser Worker; content never leaves your device.

Limits

Up to 2MB per run; Bitcoin alphabet only — no Base62 / Flickr alphabet-order variants.

Decoded output is UTF-8 text: binary payloads (like IPFS CIDs) error out clearly.

No Base58Check verification layer; leading 0x00 bytes map to the digit 1 per the convention.

Related tools