NFT Metadata IPFS refers to the use of the InterPlanetary File System to store or reference the metadata and media files connected to a non-fungible token.
In the crypto market, an NFT usually proves ownership through a blockchain smart contract, while its metadata explains what the token represents.
This metadata can include the NFT name, description, image, animation file, attributes, traits, rarity details, game stats, external URL, or other information that wallets and NFT applications display to users.
IPFS is often used because it gives NFT projects a content-addressed way to reference files instead of depending only on a traditional web server.
The official IPFS best practices for NFT data recommend using IPFS URIs to link from smart contracts to external NFT data stored on IPFS.
For example, an NFT smart contract may return a token URI such as
ipfs://bafyexamplecid/1.json
.
That JSON file may then point to an image such as
ipfs://bafyexamplecid/1.png
.
When a wallet, marketplace, game, or portfolio app reads the NFT, it follows the URI, fetches the metadata, and displays the NFT content to the user.
IPFS is important for NFT metadata because many NFT files are too large or too expensive to store directly on-chain.
Blockchains are good at storing ownership records, transaction history, and smart contract logic.
They are usually not the best place to store large images, videos, music files, 3D objects, or detailed JSON data.
IPFS helps solve this problem by letting NFT projects store data off-chain while still referencing it through a verifiable content identifier.
This can reduce storage costs while improving transparency compared with ordinary server links.
If an NFT only points to a normal HTTPS URL, the server owner may be able to change the content at that URL without changing the URL itself.
With IPFS content addressing, the content identifier is tied to the file content, so changing the file creates a different identifier.
This makes IPFS useful for NFT projects that want stronger proof that metadata and media have not been silently replaced.
The basic process starts when a creator or developer prepares a metadata JSON file for each NFT.
The metadata file includes fields that describe the token, such as
name
,
description
,
image
, and
attributes
.
The creator then uploads the JSON file and related media files to IPFS.
IPFS gives each file or folder a content identifier, commonly called a CID.
The NFT smart contract stores or returns a URI that points to the metadata CID.
When an NFT application needs to display the token, it calls the smart contract, gets the token URI, retrieves the JSON file from IPFS, and reads the fields inside the metadata.
If the metadata file points to an IPFS image URI, the application also retrieves that image from IPFS.
This creates a chain of references from the on-chain token to the off-chain metadata and then to the off-chain media.
A CID, or content identifier, is the IPFS label used to reference a specific piece of content.
The official IPFS content addressing documentation explains that a CID points to content based on the content itself, not based on the location of a server.
This is one of the biggest differences between IPFS and ordinary web hosting.
An ordinary URL often tells a browser where to find something.
A CID tells an IPFS system what content to look for.
If the same content is added to IPFS with the same settings, it should produce the same CID.
If even a small part of the content changes, the CID changes.
For NFT metadata, this means a JSON file and an image file can each have their own content-based identity.
IPFS URI vs HTTPS URL
An IPFS URI usually starts with
ipfs://
.
An HTTPS URL usually starts with
https://
.
A common IPFS metadata URI may look like
ipfs://bafyexamplecid/metadata.json
.
A gateway-based HTTPS version may look like
https://gateway.example/ipfs/bafyexamplecid/metadata.json
.
The IPFS URI is usually better as the canonical NFT metadata reference because it keeps the content address clear and does not depend on one gateway domain.
The HTTPS gateway URL can still be useful because many browsers and applications do not natively support
ipfs://
links.
The official IPFS gateway documentation explains that gateways let normal HTTP clients retrieve content-addressed IPFS data.
In practice, many NFT applications convert
ipfs://
links into gateway URLs so users can load images and metadata through familiar web infrastructure.
A simple NFT metadata file stored on IPFS may look like this:
{
"name": "Example NFT #1",
"description": "A sample NFT metadata file stored on IPFS.",
"image": "ipfs://bafyexampleimagecid/1.png",
"attributes": [
{
"trait_type": "Background",
"value": "Blue"
},
{
"trait_type": "Rarity",
"value": "Rare"
}
]
}
The
name
field gives the NFT a readable title.
The
description
field explains what the NFT represents.
The
image
field points to the NFT image stored on IPFS.
The
attributes
field stores traits that wallets, NFT tools, and rarity systems may display.
After this JSON file is uploaded to IPFS, the NFT smart contract can point to the file with a token URI.
If the metadata file is changed later, the updated file will have a different CID.
ERC-721 is one of the main NFT standards used for unique tokens on Ethereum-compatible networks.
The official ERC-721 standard includes an optional metadata extension with the
tokenURI(uint256 tokenId)
function.
This function returns a URI that points to the metadata for a specific NFT.
When IPFS is used, the returned token URI may point to an IPFS CID instead of a centralized web server.
For example, token ID 1 may return
ipfs://bafyexamplecid/1.json
.
Token ID 2 may return
ipfs://bafyexamplecid/2.json
.
This structure is common for NFT collections where each token has different artwork, traits, and rarity data.
Using IPFS with ERC-721 gives projects a practical way to separate on-chain ownership from off-chain content storage.
ERC-1155 is a multi-token standard that can support NFTs, semi-fungible tokens, and fungible token types in one smart contract.
The official ERC-1155 standard uses a
uri(uint256 id)
function for metadata.
ERC-1155 also supports a
{id}
substitution pattern, where applications replace
{id}
with the actual token ID in a specific hexadecimal format.
This is useful for games, badges, editions, and collections with many token types.
For example, an ERC-1155 contract may return an IPFS URI such as
ipfs://bafyexamplecid/{id}.json
.
A wallet or game client can replace
{id}
with the correct token ID and fetch the right metadata file.
This makes IPFS useful for both one-of-one NFTs and large multi-token collections.
IPFS Folders for NFT Collections
Many NFT projects upload an entire metadata folder to IPFS instead of uploading each file separately.
A folder may contain files such as
1.json
,
2.json
,
3.json
, and so on.
Another folder may contain matching images such as
1.png
,
2.png
, and
3.png
.
When the folder is uploaded to IPFS, the folder receives a CID.
The NFT contract can then use that folder CID as the base URI.
For example, a base URI may be
ipfs://bafyexamplemetadatacid/
.
The contract can combine that base URI with a token ID to create
ipfs://bafyexamplemetadatacid/1.json
.
This approach can make NFT metadata easier to organize, reveal, verify, and preserve.
Uploading data to IPFS does not automatically guarantee that the data will stay available forever.
IPFS nodes may remove cached data during garbage collection if the data is not pinned or otherwise preserved.
The official IPFS persistence and pinning documentation explains that data can be pinned to one or more IPFS nodes to help keep it available.
Pinning tells an IPFS node to keep a specific CID instead of treating it as temporary cache data.
For NFT projects, pinning is important because missing metadata can make an NFT appear broken.
A strong NFT storage plan may use multiple pinning providers, self-hosted IPFS nodes, backups, and monitoring.
Collectors may also pin metadata themselves if they want an extra layer of preservation for assets they own.
IPFS improves content-addressed access, but persistence still requires active storage planning.
An IPFS gateway lets ordinary browsers and applications access IPFS content through HTTP.
This matters because not every wallet, browser, or mobile app can load
ipfs://
links directly.
A gateway can translate an IPFS reference into a web-accessible URL.
For example,
ipfs://bafyexamplecid/image.png
may be accessed through an HTTP gateway URL using the same CID.
Gateways improve accessibility, but they should not be confused with the underlying content identity.
If one gateway is slow or offline, another gateway may still retrieve the same CID.
This is why many NFT builders prefer storing canonical metadata references as
ipfs://
URIs instead of hardcoding one gateway URL into the smart contract.
The CID should remain the important reference, while gateways are access paths.
IPFS and NFT Reveals
Many NFT collections use IPFS during reveal events.
Before reveal, each token may point to placeholder metadata with a hidden image.
After reveal, the project updates the smart contract base URI or token URI so each NFT points to final metadata on IPFS.
This final metadata may include unique artwork, traits, and rarity information.
A reveal can be simple if the project prepared and tested the IPFS metadata folders before launch.
A reveal can become risky if metadata files are missing, numbered incorrectly, uploaded with the wrong CID, or not pinned correctly.
Projects should verify every JSON file, image link, and token ID mapping before reveal.
Collectors should understand that a reveal may change the displayed NFT from a placeholder to final content, but it does not automatically mean the owner changed.
IPFS is often used for immutable-style NFT metadata because content addressing makes silent edits harder.
If a project stores metadata through a fixed IPFS CID and the smart contract cannot update the URI, the NFT metadata becomes much harder to change.
This can build collector trust because the image and traits are less likely to be replaced later.
Immutable metadata is especially useful for art NFTs, historical collectibles, certificates, and assets where buyers expect a stable representation.
However, immutability also means mistakes can become permanent.
If a JSON file has a typo, broken image link, wrong trait, or incorrect description, fixing it may require a new CID and a contract update.
If the contract does not allow URI updates, the mistake may remain part of the NFT forever.
Projects should test metadata carefully before locking IPFS references.
Mutable metadata means the information connected to an NFT can change after mint.
IPFS can still be used in mutable metadata systems, but each changed file will usually create a new CID.
A dynamic NFT may update its token URI to point to a new IPFS CID whenever the asset changes.
For example, a game character NFT may level up, receive new equipment, and point to updated metadata on IPFS.
A membership NFT may update its badge image after the holder reaches a new tier.
An evolving artwork NFT may change over time based on on-chain or off-chain events.
Mutable IPFS metadata can be powerful, but users should know who controls updates and what rules limit those changes.
Without clear rules, mutable metadata can create trust issues because holders may worry that art, traits, or utility can be changed unfairly.
ERC-4906 is an ERC-721 metadata update extension that helps applications know when NFT metadata has changed.
The official ERC-4906 standard defines
MetadataUpdate
and
BatchMetadataUpdate
events.
These events can signal that one token or a range of tokens has updated JSON metadata.
This is useful for IPFS-based NFTs because applications often cache metadata.
If a token URI changes from one IPFS CID to another, a wallet or indexer may need a signal before it refreshes the displayed image and attributes.
ERC-4906 does not store IPFS files and does not decide what the metadata should contain.
It simply gives smart contracts a standard way to tell applications that metadata has changed.
This can reduce stale images, outdated traits, and manual refresh problems across NFT tools.
The first benefit is content addressing.
A CID gives NFT data a content-based reference instead of depending only on a server location.
The second benefit is better transparency.
Users can compare a CID with the expected metadata and media to check whether the content matches.
The third benefit is improved portability.
The same CID can be accessed through different gateways or IPFS nodes.
The fourth benefit is reduced dependence on one centralized host.
If content is pinned by multiple nodes or services, it can remain accessible even if one access point fails.
The fifth benefit is stronger preservation potential.
Creators, collectors, archives, and communities can all help preserve important NFT files by pinning the same CIDs.
The sixth benefit is better alignment with Web3 values.
IPFS supports open, distributed access to NFT data instead of tying the asset entirely to a single private server.
IPFS does not automatically make NFT metadata permanent.
Someone still needs to store, pin, and serve the content.
IPFS also does not guarantee fast loading in every region or every app.
Performance may depend on gateways, pinning quality, node availability, caching, and file size.
IPFS does not prove that a project owns the copyright to the media it uploads.
It only helps address and retrieve content.
IPFS does not protect users from phishing links placed inside metadata fields.
Applications and users still need security checks when opening external URLs.
IPFS also does not automatically fix bad metadata design.
If a project uploads invalid JSON, inconsistent traits, missing images, or confusing attributes, those problems can still damage the NFT experience.
NFT rarity is often calculated from metadata attributes.
If traits are stored in IPFS JSON files, rarity tools may read those files and rank tokens based on trait frequency.
This makes metadata accuracy extremely important.
A spelling difference such as
Gold
versus
gold
may cause tools to treat the same trait as two different values.
A missing attribute may make one token appear less complete than others.
An incorrect trait may affect market price and collector expectations.
Projects should standardize attribute names, values, and data types before uploading metadata to IPFS.
They should also keep a backup of the final metadata folder so the exact revealed data can be verified later.
The image field is one of the most important parts of NFT metadata because it controls what users usually see first.
When images are stored on IPFS, the metadata JSON should point to the image with an IPFS URI.
For example, the image field may use
ipfs://bafyexampleimagecid/42.png
.
Projects should make sure image files are correctly named, pinned, and linked.
They should also choose reasonable file sizes because very large images can load slowly in wallets and mobile apps.
Supported media formats may vary across applications, so projects should test display behavior before launch.
For animated NFTs, the metadata may include an
animation_url
field that points to video, audio, HTML, or another rich media file.
Projects should avoid unsafe scripts or suspicious redirects in media-linked content.
Not every NFT needs IPFS because some NFTs store metadata fully on-chain.
Fully on-chain NFTs may generate metadata directly from the smart contract.
This can improve transparency and reduce dependence on outside storage.
However, on-chain storage can be expensive and limited.
IPFS is often a practical middle ground because ownership remains on-chain while larger metadata and media files are stored off-chain.
Some projects combine both methods.
For example, a contract may store important attributes on-chain while using IPFS for high-resolution media.
The best design depends on the NFT’s purpose, file size, update needs, and long-term preservation goals.
IPFS metadata is often compared with centralized metadata hosted on normal servers.
Centralized servers can be fast, flexible, and easy to update.
They can also create a single point of failure.
If the server goes offline, the NFT may lose its visible metadata.
If the server owner changes the file at the same URL, users may see different content without an obvious on-chain change.
IPFS reduces this problem by tying the reference to the content itself.
However, IPFS still requires availability through nodes, pinning, and gateways.
A strong NFT project may use IPFS as the canonical reference while also using gateways and backups to improve loading speed.
NFT metadata on IPFS can still create security risks.
A metadata file may include an external link that points to a phishing website.
A media file may include unsafe content that applications should not render carelessly.
A fake NFT collection may copy legitimate artwork and upload it to IPFS.
A project admin may update a mutable token URI to point to harmful or misleading metadata.
A gateway URL may be spoofed to trick users into trusting the wrong website.
Users should avoid connecting wallets through links found in unknown NFT metadata.
Projects should sanitize metadata, avoid dangerous file behavior, secure update permissions, and publish official CIDs through trusted communication channels.
Applications should treat metadata as untrusted input and protect users from unsafe rendering or suspicious external links.
Best Practices for NFT Projects Using IPFS
NFT projects should use
ipfs://
URIs as canonical metadata and media references when storing NFT data on IPFS.
Projects should validate every JSON file before uploading it.
Projects should check that image, animation, and external links resolve correctly.
Projects should organize metadata and media folders clearly by token ID.
Projects should pin metadata and media through reliable infrastructure.
Projects should use more than one pinning or backup method for important collections.
Projects should test metadata display across wallets, explorers, games, and indexers before launch.
Projects should decide whether metadata will be immutable, mutable, or dynamic before users mint.
Projects should explain the metadata policy clearly to buyers.
Projects should use metadata update events such as ERC-4906 when metadata changes need to be detected by applications.
Best Practices for NFT Buyers and Collectors
NFT buyers should check whether the token URI points to IPFS, HTTPS, on-chain data, or another storage method.
Buyers should understand that IPFS improves content addressing but does not automatically guarantee permanent availability.
Collectors should check whether the metadata and media are pinned or preserved by reliable storage plans.
Collectors should be careful with NFTs that use centralized metadata when the project gives no explanation of storage risk.
Collectors should avoid clicking unknown external links inside NFT metadata.
Collectors should keep records of important token URIs and CIDs for valuable NFTs.
Collectors may choose to pin important NFT metadata themselves if they want more control over preservation.
Buyers should also remember that good IPFS storage does not guarantee market value, liquidity, copyright rights, or future utility.
One common mistake is uploading images to IPFS but leaving metadata on a centralized server.
Another common mistake is using gateway URLs as permanent contract references instead of using canonical
ipfs://
URIs.
A third mistake is forgetting to pin the metadata folder after upload.
A fourth mistake is changing metadata after reveal without telling holders.
A fifth mistake is using inconsistent file names, such as starting token IDs at 0 in one folder and 1 in another folder.
A sixth mistake is uploading invalid JSON that some applications cannot parse.
A seventh mistake is using huge media files that make NFTs slow to load.
An eighth mistake is assuming IPFS automatically handles legal rights, licensing, or copyright ownership.
A user can check NFT metadata by reading the token URI from the smart contract.
This can be done through a block explorer, contract read function, wallet tool, or NFT analytics application.
If the token URI starts with
ipfs://
, the user can inspect the CID and file path.
If the user wants to view it in a normal browser, the IPFS URI may need to be converted to a gateway URL.
For example,
ipfs://bafyexamplecid/1.json
can be viewed through an IPFS gateway that supports the same CID and path.
The user can then inspect the JSON fields and follow the image or animation URI.
If the image field also uses IPFS, the user can check that media CID separately.
This process helps users understand whether the NFT depends on IPFS, a centralized server, or another storage system.
Storing NFT metadata on IPFS does not prove copyright ownership.
It only stores or references content through IPFS.
A project can upload an image to IPFS even if it does not have proper rights to that image.
Buying an NFT with IPFS metadata also does not automatically give the buyer copyright to the linked media.
The metadata may describe the asset, but legal rights depend on the project’s license, terms, and applicable law.
Creators should only upload media they own or have permission to use.
Buyers should review license terms before using NFT artwork, music, video, or brand assets commercially.
IPFS can help preserve and verify content references, but it is not a legal rights management system by itself.
FAQ
NFT Metadata IPFS means an NFT uses IPFS to store or reference its metadata, media files, or both.
NFTs use IPFS because it provides content-addressed references that are less dependent on one traditional server location.
A CID is a content identifier that points to specific content on IPFS based on the content itself.
No, IPFS metadata is stored off-chain, while the NFT smart contract usually stores or returns a URI that points to the IPFS content.
IPFS does not automatically make metadata permanent because the content still needs to be pinned, hosted, or preserved by nodes and storage providers.
What is the difference between ipfs:// and https://?
An
ipfs://
URI points to IPFS content by CID, while an
https://
URL usually points to a web server or gateway location.
The content at a specific CID cannot be changed without creating a new CID, but a smart contract may be able to update its token URI to point to a different CID if it was designed to allow updates.
Wallets usually read the token URI, fetch the metadata JSON through IPFS or a gateway, and then display the name, image, description, and attributes.
If IPFS metadata is not pinned or otherwise preserved, it may become unavailable when no node keeps and serves the content.
IPFS is often better for content-addressed verification and decentralized access, but it still needs pinning, backups, and good metadata design to work reliably.
Conclusion
NFT Metadata IPFS is one of the most important storage patterns in the NFT ecosystem because it connects blockchain-based ownership with content-addressed metadata and media.
IPFS allows NFT projects to reference JSON files, images, animations, and other assets through CIDs instead of relying only on ordinary server URLs.
This can improve transparency, portability, and preservation when it is implemented correctly.
However, IPFS is not automatic permanence.
NFT creators still need pinning, backups, reliable gateways, tested metadata, clear update policies, and secure smart contract controls.
NFT buyers should understand whether an NFT uses IPFS, whether the content is pinned, whether metadata can change, and whether the displayed media matches the project’s claims.
IPFS works best when it is used as part of a complete NFT metadata strategy rather than as a simple upload step.
When combined with ERC-721, ERC-1155, ERC-4906, strong storage planning, and transparent communication, IPFS can make NFT metadata more reliable, verifiable, and aligned with the open nature of crypto assets.