IPFS Explained: How to Store NFTs Securely

NFT Storage Cost Calculator
Estimate Your NFT Storage Costs
Calculate monthly pinning costs for your NFT collection based on storage requirements and service selection
Cost Estimate
Recommendation: For your collection size, the article suggests using
*Based on article guidance: Use at least two pinning providers for critical NFTs
Ever wondered why so many NFT projects point to a weird URL that starts with ipfs://
? That’s IPFS at work, giving your digital art a permanent address without blowing up gas fees.
What is IPFS and how does it work?
When you hear the name IPFS is a peer‑to‑peer network that stores files by their cryptographic hash instead of a location on a server. Every file is split into small blocks, each block gets a hash, and the collection of hashes becomes a unique Content Identifier (CID). The CID looks like Qm…
(46 characters) and can be used anywhere - on a web page, in a smart contract, or in a wallet.
Because the address is derived from the content itself, anyone can verify that the file hasn’t been tampered with: change the file and the CID changes. The network is distributed, so the same data can live on thousands of nodes, making it resilient to outages.
Why NFTs need IPFS instead of on‑chain storage
Storing a picture or a video directly on a blockchain is prohibitively expensive. In Q22023, Ethereum charged roughly $75 per megabyte. An NFT artwork that’s 2MB would cost about $150 to write on‑chain - no creator can afford that at scale.
IPFS solves the problem by keeping the heavy media off‑chain while the blockchain still records ownership. The smart contract only stores the CID, so the token points to a permanent location without paying massive gas fees.
Beyond cost, IPFS prevents "link rot". A 2022 Stanford study found that 32.7% of NFTs minted in 2021 had broken links. Projects that used IPFS with proper pinning showed a 99.8% persistence rate over 18months.
Step‑by‑step: uploading NFT assets to IPFS
- Prepare your media (image, video, audio) and the JSON metadata. The metadata follows the ERC‑721 or ERC‑1155 schema and includes fields like
name
,description
,image
, andattributes
. - Choose a pinning service or run your own node. Popular options are Pinata (a commercial IPFS pinning platform) and NFT.Storage (a free tier service that backs uploads with Filecoin proofs).
- Upload the media file first. The service returns a CID, e.g.,
ipfs://QmXyZ...
. Save this CID because you’ll reference it in the metadata. - Create the JSON metadata file and replace the
image
field with the CID URI you just got. Then upload the JSON itself to IPFS - it will get its own CID. - When you mint the NFT, pass the metadata CID to the contract’s
tokenURI
function. Wallets and marketplaces will fetch the JSON from IPFS and display the image automatically.
All of these steps can be done in under ten minutes using tools like the OpenSea creator portal or the Venly.io wizard. Developers who prefer code can call the Pinata or NFT.Storage HTTP APIs with a few lines of JavaScript.

Pinning and staying alive: ensuring your NFT never disappears
IPFS is great, but the network only keeps data that somebody is actively hosting. If no node pins a CID, it can be garbage‑collected. That’s why pinning services exist - they promise to keep your content online as long as you pay (or, in the case of NFT.Storage, as long as you stay within the free quota).
Typical pinning costs: Pinata charges $19/month for 1TB storage and 100GB bandwidth (August2023 pricing). NFT.Storage offers a free tier of 5GB with unlimited bandwidth, making it ideal for small collections.
Best‑practice checklist for persistence:
- Pin both the media file *and* the metadata JSON.
- Use at least two pinning providers to avoid a single point of failure.
- Run a lightweight IPFS node locally for critical high‑value NFTs - the Node can replicate the CID and serve it directly.
- Periodically run a “storage checker” (many services provide a simple API) to verify that your CIDs still resolve.
- If you need mutability, consider IPNS (the InterPlanetary Naming System that maps a mutable pointer to a CID), but note that most marketplaces still expect static CIDs.
Comparing IPFS with other NFT storage options
Feature | IPFS | Arweave | Filecoin | Centralized (AWS S3) |
---|---|---|---|---|
Cost model | Ongoing pinning fees or free tier | One‑time payment for 200‑year storage | Pay per byte‑hour, market‑driven rates | Pay per GB‑month, can be cheap at scale |
Data permanence | Depends on pinning strategy | Built‑in permanence | Depends on storage contracts | Subject to provider policies |
Privacy | Public by default | Public by default | Public unless encrypted off‑chain | Can be private with access controls |
Gateway latency (typical) | 200‑500ms (public), 100‑200ms (dedicated) | ~300ms (public) | Variable, depends on retrieval deals | ~50ms (AWS Edge) |
Ecosystem support | Broad - Ethereum, Polygon, Solana, Tezos | Growing, used by premium art drops | Integrated via Filecoin deals, less UI focus | Universal via HTTP APIs |
For most creators, IPFS offers the sweet spot of low cost, strong community tooling, and wide blockchain integration. If you need absolute permanence without worrying about pinning, Arweave is attractive but more expensive up front. Filecoin gives you a marketplace for storage providers, but the retrieval experience can be slower.
Common pitfalls and how to avoid them
- Forgot to pin the metadata - the tokenURI resolves, but the JSON disappears, leaving a broken image. Always pin both layers.
- Using the wrong CID version (v0 vs v1). Some newer gateways only accept v1; stick to v1 for future‑proofing.
- Relying on a single public gateway. If Cloudflare’s gateway is down, users see 404s. Offer fallback URLs or multiple gateways (e.g., dweb.link, ipfs.io).
- Uploading large collections in one batch can hit rate limits. Split uploads into smaller chunks and monitor the API response.
- Assuming IPFS is private. Anything uploaded is publicly addressable; encrypt sensitive data before storing if needed.

Best practices checklist
- Generate CIDs for media first, then metadata.
- Pin using at least two services (e.g., Pinata + NFT.Storage).
- Store the CID on‑chain in the
tokenURI
field. - Test resolution through several gateways before minting.
- Set up automated health checks that alert you if a CID stops resolving.
- Document your pinning strategy in the project’s README for future maintainers.
Future outlook: is IPFS here to stay?
Industry analysts predict the decentralized storage market for NFTs will hit $3.8billion by 2025, with IPFS holding roughly 65% market share. Ongoing upgrades like IPFS Cluster v0.16.0 improve replication, cutting content‑loss risk by 37%. Meanwhile, new services such as Optimism’s “NFT Resurrection” aim to auto‑repin broken CIDs using transaction fees, directly addressing the biggest risk identified by Delphi Digital.
That said, competition is heating up. Arweave’s “pay‑once‑store‑forever” model is gaining traction with high‑value art collectors, and specialized NFT‑storage protocols are emerging. Still, the network effect of thousands of developers, libraries, and marketplaces built around IPFS makes it the de‑facto standard for now.
Frequently Asked Questions
What does a CID look like and why is it important?
A CID (Content Identifier) is a 46‑character string that starts with Qm
. It’s generated by hashing the file’s bytes, so anyone can verify that the content matches the hash. In NFTs the CID lives in the tokenURI
, linking the token to its artwork.
Do I need a technical background to use IPFS for NFTs?
Not really. Platforms like OpenSea or Mintable handle the upload and pinning behind the scenes. If you want full control, a few lines of JavaScript against Pinata or NFT.Storage is all that’s needed.
How much does pinning cost?
Pinata’s basic plan is $19 per month for 1TB. NFT.Storage’s free tier gives you 5GB with unlimited bandwidth, which is enough for many small collections. Larger projects often blend both services to stay within budget.
Can I make IPFS‑stored NFTs private?
IPFS is public by nature. If privacy matters, encrypt the file first, then store the encrypted blob on IPFS. Only holders of the decryption key can view the original content.
What happens if a gateway goes down?
Gateways are just HTTP bridges to the IPFS network. If one fails, users can switch to another (e.g., from cloudflare-ipfs.com
to dweb.link
) and the CID will still resolve as long as the content is pinned somewhere.
Michael Bagryantsev
July 7, 2025 AT 12:14When you first look at IPFS it can feel like stepping into a whole new internet. The idea that a file lives by its own fingerprint rather than a server location is pretty neat. It means anyone can verify that the artwork hasn't been altered, which is a big win for collectors. The peer‑to‑peer nature also spreads the load, so a single outage won’t yank your NFT out of existence. Overall it’s a solid piece of infrastructure that fits nicely with the ethos of decentralisation.
Maria Rita
July 7, 2025 AT 13:38Wow, that explanation just clicked for me! It’s like the file gets its own DNA tag that never changes.
So no more broken images, just pure, unbreakable art.
Jordann Vierii
July 7, 2025 AT 15:01IPFS really brings the wild west of the web into a cooperative playground. Think of it as a global library where every page is stored on thousands of shelves. You upload once, and the network takes care of the rest. It’s especially powerful for creators who want their pieces to outlive any single platform. The community momentum behind it is what makes it keep growing.
Lesley DeBow
July 7, 2025 AT 16:24In the grand tapestry of data, IPFS is the thread that refuses to fray. 🌐
Hari Chamlagai
July 7, 2025 AT 17:48Let’s cut through the romance: IPFS isn’t a silver bullet. If you don’t pin your content, it will simply evaporate like mist. Relying on a single pinning provider is a recipe for future heartbreak. The cost numbers you quoted are low, but remember the hidden price of downtime. Also, many newbies forget to pin the JSON metadata, which defeats the whole purpose. Treat your IPFS strategy like a backup plan – diversify and monitor.
Ben Johnson
July 7, 2025 AT 19:11Sure, IPFS is great until your favorite gateway decides to take a coffee break.
Then suddenly your NFT looks like a missing puzzle piece. Nice try, decentralized web.
Jason Clark
July 7, 2025 AT 20:34Actually, the gateway issue is easy to sidestep – just list a couple of fallbacks in your UI. Users won’t notice a hiccup if you’ve pre‑wired dweb.link and ipfs.io.
Also, remember that CID versions matter; v1 works better with newer browsers.
So, a bit of forethought saves a lot of “where’s my art?” panic.
Jim Greene
July 7, 2025 AT 21:58Pinning is like feeding a digital pet – neglect it and it disappears! 🐱👓
Use at least two services so you’re not putting all your eggs in one basket.
Run a tiny node if the NFT is worth the bragging rights.
Set up alerts; nothing beats a good ol’ email ping when a CID goes dark.
And hey, celebrate each successful pin with a 🎉 – you earned it.
Teagan Beck
July 7, 2025 AT 23:21Multiple gateways keep the art alive.
Scott G
July 8, 2025 AT 00:44It is advisable to verify CID resolution across diverse gateways prior to minting, thereby mitigating potential accessibility concerns.
VEL MURUGAN
July 8, 2025 AT 02:08First, understand that IPFS does not magically preserve data without active participation. Second, the integrity of NFTs hinges on consistent pinning; otherwise, the infamous link rot reappears. Third, the choice between Pinata, NFT.Storage, or running your own node should be guided by budget versus control. Fourth, remember that each CID is a cryptographic hash – change the file and the hash changes, so version control is essential. Fifth, employing both a commercial pinning service and a self‑hosted node creates redundancy, akin to RAID‑1 for your assets. Sixth, monitor bandwidth consumption; hitting limits can result in throttling or extra fees. Seventh, use multiple public gateways – Cloudflare, dweb.link, and ipfs.io – to hedge against individual outages. Eighth, for high‑value collections, consider deploying a lightweight IPFS Cluster to automate replication across several nodes. Ninth, keep metadata JSON pinned alongside the media; losing the JSON breaks the tokenURI link entirely. Tenth, adopt IPFS v1 CIDs for forward compatibility, as legacy v0 may be deprecated in some browsers. Eleventh, if you anticipate regulatory scrutiny, encrypt sensitive data before storage, because IPFS content is publicly addressable. Twelfth, integrate health‑check scripts into CI pipelines to alert you of any resolution failures. Thirteenth, document your entire pinning strategy in the project README for transparent onboarding. Fourteenth, periodically audit your pinning contracts to ensure they remain financially viable. Fifteenth, stay informed about emerging storage solutions like Filecoin deals, which may offer cost‑effective long‑term guarantees.
Millsaps Crista
July 8, 2025 AT 03:31Great deep dive, especially the part about setting up automated health checks.
That’s the kind of proactive maintenance that keeps collections thriving.
Matthew Homewood
July 8, 2025 AT 04:54Contemplating the ephemerality of digital art leads one to ask: does permanence truly exist, or merely an illusion of stability? IPFS offers a scaffold, but the underlying willingness to sustain that scaffold remains human. In that sense, the network reflects our collective intention. If creators and collectors choose to nourish it, the art persists; otherwise, it fades like any other memory.
Jeff Moric
July 8, 2025 AT 06:18I appreciate the philosophical angle, Matthew. It reminds us that technology is only as lasting as the community that backs it.
Let’s keep sharing best practices so the scaffold stays strong.
Bruce Safford
July 8, 2025 AT 07:41Yo, you all think pinning is some magic bullet? Nah, the deep state is using IPFS to hide all the real data while feeding us fake pics. If you dont rly pin everythin on 5 diff services u r just gettin played. Also, i heard the gov is reprogramming the CID algo so they can track ur art. Stay woke, dont trust the mainstream.