Base58 Size Calculator

Base58 encodes binary data as text using 58 unambiguous characters, popularised by Bitcoin addresses. Because each character carries log2(58), roughly 5.858, bits, the encoded string is about 1.37 times the byte count. This calculator takes a byte count and returns the maximum Base58 encoded length, the bits-per-character efficiency, and a comparison with the more compact Base64 encoding. It also shows the encoded length once a 4-byte Base58Check checksum is added, as used for Bitcoin-style addresses.

0
0
0
0.00

Base58 length formula

bits per char = log2(58) = 5.8579...
Base58 length = ceil(bytes * 8 / log2(58)) = ceil(bytes * 1.36573)
Base58Check length = ceil((bytes + 4) * 8 / log2(58))
Base64 length = ceil(bytes / 3) * 4

The factor 8 / log2(58) is approximately 1.36573 characters per byte. The Base58Check figure adds the 4-byte checksum to the payload before encoding. Base64 is shown for comparison and includes padding.

Base58 context

  • Base58 drops 0, O, I and l to avoid visual confusion, plus + and / for URL safety.
  • It is about 1.37 characters per byte, slightly longer than Base64's 1.33.
  • Output length can vary by one character; the formula is a tight upper bound.
  • Leading zero bytes each encode to a single 1 character.
  • Base58Check appends a 4-byte double-SHA-256 checksum for error detection.

Base58 size: frequently asked questions

What is Base58?

Base58 is a binary-to-text encoding that uses 58 characters, omitting the visually ambiguous 0 (zero), O (capital o), I (capital i) and l (lowercase L), plus + and /. It was introduced for Bitcoin addresses to make hand-copied identifiers less error-prone.

How long is a Base58 string for n bytes?

Each byte carries 8 bits and each Base58 character carries log2(58) which is about 5.858 bits, so the encoded length is about n times 8 / 5.858, that is n times 1.3658, rounded up. This calculator reports the ceiling of that value as the maximum encoded length.

Why is the length only approximate?

Base58 is not a fixed block encoding like Base64, so the exact output length can vary by one character depending on the leading bytes and value. The formula gives the tight upper bound; leading zero bytes each add exactly one character (encoded as 1).

How does Base58 compare to Base64?

Base64 packs 6 bits per character (length is ceil(n times 4 / 3)) and is more compact, but it includes characters that are easy to confuse or that need escaping in URLs. Base58 trades a little length for human-friendly, copy-safe strings.

What is Base58Check?

Base58Check is Base58 with a version byte prefix and a 4-byte double-SHA-256 checksum appended before encoding, used for Bitcoin addresses and WIF keys. The checksum adds 4 bytes to the payload, lengthening the encoded string accordingly.

Official sources

Reviewed by the CalculatorHub team, edited by James Graham, 17 June 2026. See our methodology.