IPFS (InterPlanetary File System) is a peer-to-peer network for storing and sharing files. Instead of finding a file by its location, such as a URL on one server, IPFS finds it by its content: every file gets a unique content identifier (CID) derived from a cryptographic hash of the data. Any node that has the file can serve it, and the CID guarantees that what you receive is exactly what was requested. IPFS was created by Protocol Labs and is widely used for NFT metadata and decentralised web apps.
How does IPFS work?
- Content addressing: a file is split into blocks, hashed and given a CID. Changing even one byte produces a different CID.
- Peer-to-peer retrieval: to fetch a file, your node asks the network which peers have the blocks for that CID and downloads them from whichever is available.
- Pinning: nodes only keep files permanently if they pin them. Unpinned content can disappear once no node stores it any more.
- Gateways: HTTP gateways let ordinary browsers load IPFS content via a normal URL.
IPFS and blockchain
Storing files directly on a blockchain is very expensive, so NFTs and dApps usually store only a reference on-chain, such as ipfs://<CID>, and keep the file itself on IPFS. Because the CID is tied to the content, the file can't be swapped without the reference changing. That is a big improvement over pointing to an ordinary web server, where the image behind a link can be changed or disappear.
Limitations
- Not automatically permanent: content stays available only as long as someone pins it. Projects use pinning services or Filecoin storage deals; Arweave is an alternative designed for permanent storage.
- Public by default: anyone who knows the CID can fetch the content. Don't put private or personal data on IPFS unencrypted.
- Performance: retrieval can be slower than a CDN, especially for content stored on few nodes; dedicated gateways and caching help.
See our NFT tooling, Solana NFT development and blockchain data indexing.
Frequently Asked Questions about IPFS
Is IPFS a blockchain?
No. IPFS is a peer-to-peer file system without a blockchain or token. Filecoin is a separate blockchain that adds payment incentives for storing data, including IPFS data.
Is data on IPFS stored forever?
Only as long as at least one node pins it. Unpinned data is eventually removed by nodes that clean up their storage.
What is a CID?
A content identifier: a unique code derived from the file's content. The same content always gives the same CID, and different content always gives a different one.
Can I update a file on IPFS?
Not in place: a changed file gets a new CID. Systems such as IPNS or DNSLink provide a stable name that can point to the latest CID.