How to Upload NFT to IPFS
Using IPFS for NFT images and metadata: what it is and how minting tools use it.
IPFS (InterPlanetary File System) is a decentralized storage network. Files are addressed by content (a hash), not by a single server URL. That makes it a popular choice for NFT images and metadata: the link stays valid as long as the content is pinned somewhere. Here’s how it fits into Solana NFT minting.
What IPFS Does for NFTs
Your NFT’s image and metadata JSON are stored off-chain. If you host them on a single server and that server goes down, the link breaks. IPFS distributes the content: once uploaded, it gets a content identifier (CID). Anyone who has the file can pin it and serve it. So the URI in your NFT metadata points to that CID (e.g. ipfs://Qm...). As long as at least one node has the content pinned, it remains accessible. For a broader comparison of storage options, see our Solana NFT storage guide.
Uploading Yourself vs Using a Minting Tool
You can upload to IPFS yourself using a pinning service (Pinata, NFT.Storage, Infura, etc.): upload the image and the metadata JSON, get the CIDs, and then use a minting script or tool that accepts those URIs. Alternatively, many minting platforms (including ours) handle upload and pinning for you. You provide the image and metadata fields; we upload to decentralized storage and put the resulting URI on-chain. That’s the simplest path for most creators. You can mint your NFT without touching IPFS directly.
Pinning and Long-Term Availability
Uploading to IPFS doesn’t guarantee permanence unless someone pins the content. Pinning means a node keeps a copy and won’t garbage-collect it. Pinning services do this for a fee or for free (e.g. NFT.Storage for NFT content). When you use a minting tool, the tool or its partner usually pins the files. If you upload yourself, use a pinning service and keep the pin active so your NFT’s image and metadata stay available.
Metadata and the Image URI
The metadata JSON for your NFT typically has an image field. That field can be an IPFS URI (e.g. ipfs://Qm.../image.png). Wallets and marketplaces resolve it (often via a gateway like ipfs.io) and display the image. So the flow is: upload image → get CID → put image URI in metadata JSON → upload metadata JSON → get metadata CID → put metadata URI on-chain. Minting tools automate this so you only provide the file and the fields.
Frequently Asked Questions
- Do I need to use IPFS for a Solana NFT?
- No. You need a URI that points to your metadata (and the metadata points to the image). That URI can be IPFS, Arweave, or another URL. Many Solana tools use IPFS or Arweave for decentralization.
- What is pinning?
- Pinning means telling an IPFS node to keep a copy of the content permanently. Without pinning, content can be removed when nodes run garbage collection. Pin your NFT assets so they stay available.
- Can I change the image after minting?
- The on-chain metadata stores a URI. If that URI is immutable (e.g. IPFS CID), the link never changes. Some setups allow updating the metadata account to point to a new URI; it depends on how the mint was configured.
- What if the pinning service shuts down?
- If someone else has pinned the same CID (e.g. another gateway or service), the content can still be available. For critical assets, consider multiple pins or permanent storage like Arweave.
If you want to create and mint your NFT without coding you can use our Solana NFT creator tool which lets you generate metadata and mint NFTs directly on the Solana blockchain.
Create Your Solana NFT
Let us handle upload and pinning. Upload your image, set metadata, and mint on Solana.
Create NFT