Skip to content
uencoder
TASK

Convert data between Base32, Base58, Base64, Base85, and Base91

Translate the same binary payload across different base encodings used by different systems (Bitcoin, DNS, PDF, compact serialization).

  1. 1

    Different communities use different base encodings: Base32 for DNS/TOTP, Base58 for Bitcoin addresses, Base64 for MIME/JSON, Base85 for IPv6/PDF, Base91 for compact binary. All represent the same bytes — converting is decode-to-bytes then re-encode.

  2. 2
    Base Converter →

    Enter the value, pick the source base and target base. The tool decodes to raw bytes and re-encodes in one step.

  3. 3
    Base58 Encoder →

    For Bitcoin-style addresses specifically, use Base58 which omits ambiguous characters (0, O, I, l) to prevent transcription errors.

  4. 4
    Base32 Encoder →

    For DNS labels or TOTP secrets, use Base32 which is case-insensitive and uses only A-Z and 2-7.

  5. 5

    Always verify the round-trip: decode the converted output back to bytes and confirm it matches the original. Base58 and Base91 have no padding, so length mismatches are the most common silent error.

Frequently asked questions

Which base encoding is most compact?
Higher bases are more compact: Base91 uses ~1.23 chars/byte, Base85 ~1.25, Base64 ~1.33, Base58 ~1.37, Base32 ~1.6. Choose based on the target system's alphabet support, not just size.
Why does Base58 reject some valid Base64 output?
Base58 has a restricted alphabet (no 0, O, I, l, +, /). If your Base64 string contains those characters, you must decode to bytes first, then Base58-encode — you cannot directly reinterpret the text.

Workflows that solve this

Learn more

Want to understand why?

Related tools