Last Updated: October 29, 2026
Quick Answer: IPFS (InterPlanetary File System) is an open-source set of protocols that finds and shares files by what they contain rather than where they are stored. Every file gets a content identifier (CID) derived from a cryptographic hash, so anyone can fetch it from any node that holds a copy and check that it has not been changed. IPFS is not a blockchain and has no token of its own; data stays online only while at least one node pins it, which is why many projects pair IPFS with paid pinning services or with Filecoin, a separate storage network that uses the FIL token.
IPFS was created by Protocol Labs and is widely used in Web3 for NFT images and metadata, app front ends and public archives. This guide covers CIDs, pinning, gateways, Filecoin, the 2026 ecosystem and the main risks.
Key Takeaways
- IPFS addresses data by content: a CID is a label that contains a hash of the data and says what the data is, not where it is stored
- Any change to a file produces a different CID, so a CID always points to the same bytes and anyone can verify what they received
- IPFS lets anyone find content that a node is providing, but it does not guarantee that content stays available: nodes delete unpinned data during garbage collection
- Gateways let ordinary browsers load IPFS content over HTTP; the official docs say hardcoding a single public gateway in NFT data is “not future-proof”
- Filecoin adds paid, provable long-term storage on top of IPFS content; Filecoin’s site now offers pinning of IPFS content backed by its network
- The IPFS website lists more than 1 billion CIDs published and more than 400,000 public nodes, with Kubo (Go) and Helia (TypeScript, for JavaScript and browsers) as the main implementations
What Is IPFS?
IPFS, short for InterPlanetary File System, describes itself as “a constellation of open-source tools for content addressing.” Instead of asking a specific server for a file at a web address, as HTTP does, an IPFS user asks the network for a piece of content by its identifier. Any peer that has the data can send it.
A normal URL tells you where a file lives, and the file behind it can change or disappear. An IPFS address tells you exactly what the file is.
IPFS is often described as a “blockchain,” but that is inaccurate. It does not have blocks of transactions, consensus or a native coin. It is a peer-to-peer storage and distribution protocol that blockchains frequently use for data that is too large or too expensive to store on-chain.
How IPFS Works
Content Identifiers (CIDs)
According to the IPFS documentation, a CID “is a label used to point to material in IPFS” and “doesn’t indicate where the content is stored.” It contains a hash of the data plus a codec that says how the data is encoded. IPFS uses the SHA-256 hash function by default but supports others through a format called Multihash.
There are two CID versions:
| Feature | CIDv0 | CIDv1 |
|---|---|---|
| How to recognize it | 46 characters, starts with “Qm” | Longer, usually starts with “bafy” in base32 |
| Encoding | base58 only | base32 by default, other bases possible |
| Self-describing prefix | No | Yes, states version, codec and encoding |
| Recommended for NFT data | No | Yes (per IPFS NFT best practices) |
Large files are split into blocks of typically 256 KiB to 1 MiB, linked together in a structure called a Merkle DAG. The CID points to the root of that structure. Identical content added with the same settings always produces the same CID, though different settings, such as chunk size, can produce a different one.
Finding and Exchanging Data
IPFS uses a Kademlia-based distributed hash table (DHT) to record which peers provide which CIDs, and a protocol called Bitswap to exchange blocks. Because blocks are checked against their hashes, a node can accept data from any peer without trusting it.
Pinning and Garbage Collection
Nodes cache the data they download and share it with others. When storage fills up, a node’s garbage collector deletes cached data. The IPFS docs are explicit that IPFS “doesn’t guarantee that any content is persistently available.”
Pinning protects data from deletion. You can pin on your own node (the “ipfs add” command pins automatically), run a cluster of nodes with IPFS Cluster, or pay a remote pinning service that runs many nodes. The docs warn that some third-party providers may stop operating, so it is worth researching a provider before relying on it. Because a CID stays the same everywhere, you can move data between pinning services without changing links.
Gateways
Most browsers do not speak IPFS natively. A gateway is an HTTP service that fetches IPFS content and serves it over the regular web, either locally (for example at localhost:8080 through IPFS Desktop or Kubo) or as a public service. The documentation describes three common URL styles:
- Path gateways (/ipfs/{CID}/), which the docs say should not be used to host web apps because they lack origin isolation
- Subdomain gateways ({CID}.ipfs.{gateway}), recommended for web apps
- DNSLink, where a domain’s DNS record points to a CID, so a site can be served at its own domain
Public gateways are run by various organizations, including the IPFS Foundation as a public utility.
IPFS and Filecoin: How They Relate
IPFS and Filecoin are separate systems that were both started by Protocol Labs. IPFS handles addressing and moving data. Filecoin is a decentralized storage network in which storage providers rent out space and are paid by clients. According to Filecoin’s documentation, providers must submit regular cryptographic proofs that they still hold the data, and they lock Filecoin as collateral that is burned if they repeatedly fail. The FIL token is used for these payments and collateral; its market data is listed on CoinMarketCap.
The IPFS docs explain the fit: pinning still depends on someone paying, and if they stop, content can be lost. Filecoin offers longer-term storage, with tradeoffs such as slower retrieval than pinning services. Filecoin’s website now offers an IPFS tier (“Pin your IPFS content on Filecoin. Your CIDs, IPNS names and gateway links keep working”) and in September 2026 announced new IPFS tools on the network.
How NFTs Use IPFS
Most NFTs on Ethereum store only a small amount of data on-chain: a token ID and a link to a metadata file. That JSON file names the item, describes it and links to the image. Storing those files on IPFS ties each link to fixed content, so a seller cannot quietly swap the artwork behind a token.
The IPFS documentation recommends that NFT creators:
- Use ipfs:// URIs as the canonical link in contracts and metadata, and generate gateway links only in the app’s display layer
- Use CIDv1 in base32
- Wrap files in a directory so links read like ipfs://{CID}/metadata.json
- Follow existing metadata schemas such as those in ERC-721 and ERC-1155 so wallets and marketplaces can read them
- Pin data on reliable infrastructure, because local copies are temporary
The docs also warn that hardcoding gateway URLs such as ipfs.io or dweb.link into token data “is not future-proof.” If you hold NFTs, a block explorer can show the token URI each item points to, so you can check whether it uses IPFS and whether the files still load. Our OpenSea review covers how the largest marketplace handles NFT listings.
The IPFS Ecosystem in 2026
The IPFS website reports “1B+” CIDs published, “400k+” public nodes (citing ProbeLab measurements) and “3,000+ contributors.” It names production users including the AT Protocol, Wikipedia, Snapshot and Anytype.
According to the official list of implementations, the main active, mainnet-compatible options include:
| Implementation | Language | Role |
|---|---|---|
| Kubo | Go | Full IPFS daemon, the most common node software |
| Helia | TypeScript | Modular IPFS for JavaScript and browsers, replaced js-ipfs |
| Boxo | Go | Library for building IPFS apps and implementations |
| Rainbow | Go | Dedicated HTTP gateway |
| IPFS Cluster | Go | Pinning orchestration across many Kubo nodes |
The older js-ipfs is deprecated, and several smaller tools were archived in 2026.
Risks and Limitations
- Availability is not automatic. Content disappears if every node that pinned it stops. A project that relies on a single pinning service depends on that provider staying in business.
- Public data by default. Anyone who knows a CID can request the content. Sensitive files must be encrypted before they are added.
- Content cannot be recalled. Once others have copied and pinned data, the original publisher cannot remove it from the network.
- Gateway dependence. Many users reach IPFS through a few public gateways, which can rate-limit, block content or go offline, reintroducing central points of failure.
- Scams use IPFS too. Phishing pages can be hosted on IPFS and served through gateways to look legitimate. An IPFS link says nothing about who published it; use the steps in our guide on how to verify crypto news and rumors and never connect a wallet to an unknown page.
Frequently Asked Questions
What is IPFS in simple terms?
IPFS, the InterPlanetary File System, is a peer-to-peer way to store and share files. Instead of loading a file from one server by its location, you request it by a content identifier based on its hash, and any computer that has a copy can send it. Because the identifier is derived from the data, you can always check that you received the exact file you asked for.
Is IPFS a blockchain or a cryptocurrency?
No. IPFS has no blocks of transactions, no consensus mechanism and no native token. It is an open-source file sharing protocol. Blockchains often use it to store data that would be too costly to keep on-chain, such as NFT images and metadata. Filecoin, a separate network started by the same team, uses the FIL token to pay for storage.
What is a CID in IPFS?
A CID, or content identifier, is the address of a piece of content on IPFS. It contains a cryptographic hash of the data plus information about how the data is encoded. Changing even one byte creates a different CID. Older CIDv0 identifiers start with “Qm”, while the newer CIDv1 format is self-describing and usually starts with “bafy” in base32.
Is data on IPFS stored permanently?
Not automatically. IPFS can find content that peers provide, but nodes delete unpinned data during garbage collection. Content stays available only while at least one node pins it, either on your own machine, through a paid pinning service or on Filecoin. If every copy is removed, the CID remains valid but nobody can retrieve the file anymore.
How is IPFS different from HTTP?
HTTP finds a file by its location: a domain and a path on a specific server. If that server goes down or the file changes, the link breaks or shows something else. IPFS finds files by content, so any peer holding the data can serve it and the link always refers to the same bytes. Gateways let regular browsers load IPFS content over HTTP.
What is the difference between IPFS and Filecoin?
IPFS is the protocol for addressing and moving content, and it has no built-in payments. Filecoin is a storage marketplace where providers are paid in FIL to keep data and must regularly prove they still store it. Many services combine them: data is addressed with IPFS CIDs, kept quickly available through pinning and backed up long term on Filecoin.
Why do NFTs use IPFS?
Most NFTs store only a token ID and a link on the blockchain. Using an IPFS link means the metadata and image are tied to fixed content, so they cannot be swapped without changing the CID. The IPFS documentation recommends ipfs:// links, CIDv1 and reliable pinning, because an NFT whose files are not pinned anywhere can lose its image.
Data sources: IPFS documentation (docs.ipfs.tech) on content addressing, persistence, gateways, implementations and NFT best practices; ipfs.tech; Filecoin website and documentation; CoinMarketCap. Figures as published on October 29, 2026.