Content Identifier (CID)
Every DNSLink record, IPFS gateway URL, IPNS publish, and Filecoin deal references content by CID. If you do not understand what the bytes after `/ipfs/` mean, you cannot debug deploy/cache issues, validate signed manifests, or design content-addressed pipelines.
What It Defines
Self-describing content address used throughout IPFS, IPLD, libp2p, and Filecoin. A CID is a multibase-encoded tuple of (version, multicodec, multihash) that uniquely names a piece of content by its hash plus the codec needed to interpret it. CIDv1 (base32, lowercase, DNS-safe) is the modern default and is the form embedded in DNSLink values like `/ipfs/bafy…` and in subdomain gateway hostnames like `bafy….ipfs.example.com`. Two pieces of content with the same bytes always produce the same CID — the property that makes content addressing possible.
Canonical (Normative)
Convenient (Practical)
Related References
Open community of implementers (Protocol Labs, Shipyard, Boost, Helia, Kubo, and others) that maintains the InterPlanetary File System spec family at specs.ipfs.tech. Publishes content-addressing primitives (CID, Multihash, Multibase, Multiaddr), the IPLD data model, naming systems (IPNS, DNSLink), and the HTTP Gateway specs (Path, Subdomain, Trustless, DNSLink) that bridge content-addressed storage to ordinary browsers.
Related Specs
Every CID contains a multihash. If you ever need to validate that a fetched IPFS payload matches its CID, swap in a different hash, or implement a custom indexer, you read and emit multihash bytes directly.
Multibase is the reason CIDv1 strings are DNS-safe lowercase base32 and can therefore appear in subdomain gateway hostnames like `bafy….ipfs.example.com`. If you build URL routers or parsers that touch CIDs, you encode and decode through multibase.
DNSLink is how you give an IPFS/IPNS deployment a stable human URL like `mysite.example.com` while the underlying CID changes every release. If you ever host static sites, agent artifacts, or signed manifests on IPFS and want a normal-looking domain, this is the spec.
If you do not want to update a DNS TXT record on every deploy, point DNSLink at IPNS and republish the IPNS record to the new CID. IPNS is the mutable pointer that makes content-addressed storage usable for evolving sites.
Path gateways are how a regular browser without IPFS support fetches content-addressed data. Knowing the spec is required to operate a self-hosted gateway, debug 404/range/CORS issues, or build clients that fall back from native IPFS to HTTP gateways.
Path gateways break the web origin model — every CID shares the gateway origin. Subdomain gateways are the production-correct choice for hosting independent sites. This is also the only model that makes single-page apps with cookies and Service Workers function on a public gateway.