Skip to content
TextArray
100% local

Base58 encode and decode

Encode text to Base58 with the Bitcoin alphabet and decode it back.

Input

Base58 encode and decode

Base58 turns data into a compact string built from 58 hand-picked characters — the Bitcoin alphabet 123456789, A–Z and a–z with 0, O, I and l deliberately left out. Those four are the characters people confuse when reading a value aloud, copying it from paper or squinting at a font where 0 looks like O and l looks like I. That makes Base58 the encoding of choice wherever a human might have to transcribe the result: Bitcoin addresses, IPFS content hashes, and the short IDs services like Flickr use in URLs.

Pick a direction and paste your text. Encoding takes the UTF-8 bytes of the input and converts them to Base58, with leading zero bytes becoming leading 1 characters, exactly as Bitcoin defines it. Decoding reverses the process and renders the bytes back as text; whitespace and line breaks in the pasted value are ignored, and the first character outside the alphabet is named in the error so a stray 0 or O is found immediately.

Two honest limits are built in. Decoded Bitcoin addresses and content hashes are binary, not text — if the decoded bytes are not valid UTF-8, the tool says so instead of printing garbage. And because Base58 has no byte-aligned block size, conversion cost grows steeply with size, so inputs are capped at 100 kB with a clear message rather than a frozen tab.

Unlike Base64, Base58 also drops + and /, which keeps values safe inside URLs without extra escaping. Everything runs in your browser — nothing you paste is uploaded anywhere. Copy the result or download it as a .txt file.

FAQ

What is Base58 used for?
Anywhere a person might read, say or retype an encoded value: Bitcoin and other cryptocurrency addresses, IPFS content identifiers, and short URL-friendly IDs. The alphabet avoids the characters most often confused in print, so a value survives being written on paper or read over the phone.
Why are 0, O, I and l not allowed?
They are the classic look-alike pairs: zero versus capital O, and capital I versus lowercase l. Base58 removes all four so no two characters in a value can be mistaken for each other. If your pasted value contains one of them, it is a transcription mistake — the error names the exact character to fix.
How is Base58 different from Base64?
Base64 has a bigger alphabet and byte-aligned blocks, so it is faster to process and slightly more compact — but it includes 0, O, I, l, + and /, which are hostile to humans and URLs. Base58 trades a little size and speed for values that are safe to transcribe and paste anywhere.
Why does decoding say my data is binary?
The Base58 value decoded correctly, but the resulting bytes are not valid UTF-8 text. That is normal for Bitcoin addresses and hashes, which encode raw binary — a version byte and key hash, not sentences. This tool shows decoded results as text only.
Is my text uploaded anywhere?
No. Encoding and decoding run entirely in your browser and your data never leaves your device.