Skip to content
uencoder
TUTORIAL

Multibase Encoding Explained

Understand the multibase self-identifying encoding scheme used in IPFS and decentralized systems.

Problem

You see strings prefixed with single letters (like b, f, B) and need to understand the multibase convention that self-identifies the encoding.

Prerequisites

  • Familiarity with Base64, Base32, and hex
  • Understanding of self-describing formats

Steps

  1. 1. Learn the prefix table

    Multibase prepends a single character to indicate the encoding: B for Base64, b for Base64url, f for hexadecimal, F for uppercase hex, z for Base58 Bitcoin, and K for Base36. This lets a consumer detect the encoding without external metadata.

    Input
    f4d2
    Output
    hex encoding of 0x4d2
  2. 2. Encode with the correct prefix

    Choose the encoding that fits your needs, encode the data, and prepend the corresponding prefix. For binary data in URLs, use b (Base64url). For compact human-readable codes, use z (Base58).

    Input
    binary data
    Output
    bAAEC (Base64url with prefix)
  3. 3. Decode by inspecting the prefix

    Read the first character to determine the encoding, strip it, and decode the rest using the identified base. A multibase decoder handles all supported prefixes automatically.

    Input
    bAAEC
    Output
    decode as Base64url → bytes [0,1,2]

Expected result

A self-identifying encoded string that any multibase-aware consumer can decode without prior knowledge of the encoding.

Common errors

Forgetting to strip the prefix before decoding
The first character is the encoding marker, not part of the data. Remove it before passing to the base-specific decoder.
Using the wrong prefix for the encoding
Refer to the multibase table. Using B (Base64) when you meant b (Base64url) will produce different output.

Troubleshooting

  • If decoding fails, check the prefix against the multibase table to confirm it matches the actual encoding.
  • Multibase is used in IPFS CIDs; the prefix is part of a larger self-describing structure.

Security limits

  • Multibase is a transport encoding. It provides no confidentiality or integrity guarantees.

Related tools

Related glossary

Related tasks

Ready to run it?

References