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
- Pick encode or decode Encode converts text to Base58; decode restores Base58 to UTF-8 text, erroring clearly on binary payloads.
- 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.