IPFS Explained: How to Store NFTs Securely

IPFS Explained: How to Store NFTs Securely
7 July 2025 15 Comments Yolanda Niepagen

NFT Storage Cost Calculator

Estimate Your NFT Storage Costs

Calculate monthly pinning costs for your NFT collection based on storage requirements and service selection

1 100 5000
MB
1 6 24

Cost Estimate

Total Storage Required
Monthly Cost
Total Cost for Duration

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

  1. 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, and attributes.
  2. 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).
  3. 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.
  4. 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.
  5. 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.

Manga panel sequence showing NFT upload, CID generation, and pinning.

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

Key differences between popular NFT storage solutions
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.
Guardian holding a glowing CID orb atop server towers with pinning shields.

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.

15 Comments

  • Image placeholder

    Michael Bagryantsev

    July 7, 2025 AT 12:14

    When 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.

  • Image placeholder

    Maria Rita

    July 7, 2025 AT 13:38

    Wow, 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.

  • Image placeholder

    Jordann Vierii

    July 7, 2025 AT 15:01

    IPFS 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.

  • Image placeholder

    Lesley DeBow

    July 7, 2025 AT 16:24

    In the grand tapestry of data, IPFS is the thread that refuses to fray. 🌐

  • Image placeholder

    Hari Chamlagai

    July 7, 2025 AT 17:48

    Let’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.

  • Image placeholder

    Ben Johnson

    July 7, 2025 AT 19:11

    Sure, 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.

  • Image placeholder

    Jason Clark

    July 7, 2025 AT 20:34

    Actually, 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.

  • Image placeholder

    Jim Greene

    July 7, 2025 AT 21:58

    Pinning 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.

  • Image placeholder

    Teagan Beck

    July 7, 2025 AT 23:21

    Multiple gateways keep the art alive.

  • Image placeholder

    Scott G

    July 8, 2025 AT 00:44

    It is advisable to verify CID resolution across diverse gateways prior to minting, thereby mitigating potential accessibility concerns.

  • Image placeholder

    VEL MURUGAN

    July 8, 2025 AT 02:08

    First, 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.

  • Image placeholder

    Millsaps Crista

    July 8, 2025 AT 03:31

    Great deep dive, especially the part about setting up automated health checks.
    That’s the kind of proactive maintenance that keeps collections thriving.

  • Image placeholder

    Matthew Homewood

    July 8, 2025 AT 04:54

    Contemplating 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.

  • Image placeholder

    Jeff Moric

    July 8, 2025 AT 06:18

    I 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.

  • Image placeholder

    Bruce Safford

    July 8, 2025 AT 07:41

    Yo, 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.

Write a comment