Want a Custom tool for Yourself?

Need a Custom Tool? We build custom tools that can save hours per employee per day.

Base58 Encode

Encode text or files with BASE58 in your browser. Choose character encoding if needed and convert with a single click. Copy it."

Base58 Encode



Last updated: March 28, 2026

Created by: Eon Tools Dev Team

Reviewed by: Bhabin Khadka



What the Base58 encoder does

This takes your text and rewrites it in Base58, the compact, human-friendly encoding that Bitcoin made famous. Type or paste your text, press Convert, and copy or download the result. To go back the other way, the Base58 Decode tool does that.

It runs in your browser, so nothing you enter is uploaded.

How to use it

  1. Enter your text. Type or paste it, or upload a plain text file.
  2. Press Convert. The Base58 output appears.
  3. Copy or Download the result.

What Base58 is, and the missing characters

Base58 was designed by Satoshi Nakamoto, the creator of Bitcoin, for a very specific problem: how do you write a long string of data that a person might copy by hand, without inviting mistakes? The answer was to take an alphanumeric alphabet and remove every character that looks like another one.

So Base58 uses the digits and letters, but leaves out four troublemakers: the digit 0 and the capital letter O, which look identical in many fonts, and the capital letter I and the lowercase l, which are just as easy to mix up. It also drops the + and / that Base64 uses. What is left is 58 characters that are hard to confuse with one another. Unlike Base32, Base58 is case-sensitive, so a capital A and a lowercase a mean different things. The whole design is aimed at a human reading a string off one screen and typing it into another, and it has a nice side benefit too: with no punctuation in the mix, a double-click selects the entire string cleanly.

It is really a number system

The clearest way to think about Base58 is as a counting base, the same idea as binary or hexadecimal, just with 58 symbols instead of 2 or 16. The number we write as 31337 in everyday decimal comes out as AKJ in Base58. Your text is first read as one very large number, and that number is then rewritten in base 58. One small quirk falls out of this: the first character of the alphabet, the digit 1, stands for the value zero, so a run of zero bytes at the start of your data shows up as a run of 1s at the start of the Base58 string.

Plain Base58 versus Base58Check

This is worth being clear about, because it is where expectations and reality can part ways. This tool produces plain Base58, the straight encoding described above. A Bitcoin address is not quite that. It uses Base58Check, which is plain Base58 with one extra safety feature bolted on: before encoding, a short four-byte checksum is added to the data. That checksum is what lets wallet software notice instantly if you mistype an address and refuse to send your coins into the void.

So this encoder will not turn a key into a valid, checksummed Bitcoin address, because adding that checksum is a separate step it does not perform. What it does do is genuinely useful in its own right, because plenty of systems use plain Base58 directly. IPFS, the distributed file system, writes its older content identifiers in plain Base58, which is why they start with Qm. The Solana blockchain uses plain Base58 for its addresses and keys. For those, and for anywhere you just want bytes written in this readable alphabet, this is exactly the right tool.

The library doing the work

The encoding is handled by base-x, a small JavaScript library for encoding data in any custom alphabet. Here it is set up with the Bitcoin Base58 alphabet, the very same configuration the widely used bs58 package relies on. Your text is turned into bytes, read as a big number, and rewritten across that 58-character alphabet.

Questions people ask

How is Base58 different from Base64?

Base58 removes the characters that look alike, the 0, O, I, and l, along with + and /. That makes it safer for a person to read and type, at the cost of being slightly longer. Base64 keeps all of those characters and is more compact.

Will this make me a Bitcoin address?

No. Bitcoin addresses use Base58Check, which adds a checksum that this plain Base58 encoder does not. This is the right tool for plain Base58 uses like IPFS identifiers and Solana keys, not for building a checksummed address.

Is Base58 case-sensitive?

Yes. Capital and lowercase letters are different values, so the case of the output matters and must be kept exactly.

Why does my output start with 1s?

In Base58 the digit 1 represents zero, so any zero bytes at the start of your data appear as leading 1 characters in the result.

References

  1. base-x, a base encoder and decoder for any alphabet, including Base58 (npm package). https://www.npmjs.com/package/base-x
  2. Bitcoin Wiki, Base58Check encoding. https://en.bitcoin.it/wiki/Base58Check_encoding


Bhabin Khadka

Bhabin Khadka is a software engineer and graduate student at the University of New England with experience in backend development and scalable systems. He has a particular interest in file systems and the kinds of technical utilities that depend on dependable handling of structured data. At Eon Tools, he reviews file and document tools, as well as encode and decode tools.