UtilityToolsLab

© 2026 UtilityToolsLab. Built and maintained by the UtilityToolsLab Team.

Free eBooks·About·Changelog·Privacy Policy·Terms of Service·Report a bug
HomeBlockchain EncodingIPFS CID Inspector

Related Tools

RLP EncoderBase58 EncoderBech32 EncoderKeccak-256EIP-55 ChecksumSatoshi/BTC

IPFS CID Inspector & Converter

Decode any IPFS CID (v0 or v1) into multibase, multicodec, hash function and digest bytes. Converts between CIDv0 and CIDv1 base32 forms. Runs client-side.

You Might Also Like

All Blockchain Encoding

RLP Encoder

Decode a raw Ethereum RLP payload into its fields, or serialise a nested structure back into bytes. Shows every item, length prefix and nesting level.

Base58 Encoder

Encode bytes or text to Base58 and Base58Check, or decode a Base58 string back to hex with a full checksum check. Runs entirely in your browser.

Bech32 Encoder

Encode a hex payload to a Bech32 or Bech32m address, or decode one back to its parts. Handles P2WPKH, Taproot, Cosmos and any custom HRP. Runs in your browser.

Keccak-256

Compute the Keccak-256 hash of text or raw hex bytes entirely in your browser — the Ethereum variant, not NIST SHA-3. No uploads, ever.

An IPFS Content Identifier is not a URL and not a hash. It is a self-describing address that encodes the content-addressing algorithm inside itself. Before you can compare two CIDs, pin content, or debug a gateway fetch, you need to know what encoding scheme and hash function a given string actually uses. That is what this inspector surfaces.

Paste any CID and see its version, multibase encoding, multicodec, hash function name, digest length, and the raw digest bytes as hex. Load Sample inserts bafkreiczsmdcqvwfnfskbdtppxaqqzs4flbxhhlcylhg53zhzjymxibvym, a CIDv1 base32 raw-codec SHA-256 CID. For CIDs that use dag-pb and SHA-256 (the two most common values for files added with the IPFS desktop app), the inspector also shows the equivalent CIDv0 or CIDv1 form so you can compare with pinning services that default to different versions. Nothing leaves the browser.

The Algorithm: How a CIDv1 Is Assembled

A CIDv1 has four layers stacked left to right after the multibase prefix character.

  • Multibase prefix — a single ASCII character that names the encoding. b = base32 lowercase, z = base58btc, f = hex. Strip the prefix to get the raw CID bytes.
  • Version varint — always 01 (one byte) for CIDv1.
  • Multicodec varint — identifies the data format of the addressed content. 0x55 = raw bytes, 0x70 = dag-pb (the default for files added with ipfs add).
  • Multihash — two more varints (hash-function code, then digest length) followed by the digest bytes. SHA-256 is code 0x12 with a 32-byte digest.

CIDv0 skips all of this and is simply a Base58btc SHA-256 multihash with an implicit dag-pb codec, which is why every CIDv0 starts with "Qm".

Worked Example: CIDv0 to CIDv1

Click Load Sample twice to reach the classic QmYwAPJzv5CZsnA625s3Xf2nemtYgPpHdWEz79ojWnPbdG (the go-ipfs 0.4.x readme). The inspector decodes the Base58btc string into 34 bytes: the first two bytes are the multihash header 0x12 0x20 (SHA-256, 32-byte digest), and the remaining 32 bytes are the SHA-256 digest. Since the codec is implicit dag-pb and the hash is SHA-256, the inspector also shows the CIDv1 base32 equivalent. Both strings resolve to the same content on any IPFS gateway.

What It Accepts: Supported CID Formats

Accepted multibase prefixes are b (base32 lowercase), B (base32 uppercase), z (base58btc), and f (hex). CIDv0 is detected automatically when the input starts with Qm. The codec and hash-function tables cover around 20 of the most common multicodec and multihash codes; an unknown code shows its numeric value in hex rather than failing silently. Varints larger than 35 bits are rejected. The IPFS gateway URL at the bottom of the result card is a convenience link only; the tool itself makes no network request.

Paste a CIDv0 (Qm…) or a CIDv1 (bafy…, bafk…, z…, f…). Decoded entirely in your browser.

CIDv1base32
Version
CIDv1
Multibase
"b" → base32
Multicodec0x55
raw
Hash function0x12
sha2-256
Digest length
32 bytes
Digest (hex)
5993062856c56964a08e6f7dc108665c2ac3739d62c2ce6eef27ca70cba035c3
CID bytes (hex)
015512205993062856c56964a08e6f7dc108665c2ac3739d62c2ce6eef27ca70cba035c3

Equivalent representations

Fetch on IPFS

https://ipfs.io/ipfs/bafkreiczsmdcqvwfnfskbdtppxaqqzs4flbxhhlcylhg53zhzjymxibvym