> For the complete documentation index, see [llms.txt](https://omnihub-launchpad.gitbook.io/omnihub/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://omnihub-launchpad.gitbook.io/omnihub/create-and-deploy-nft/how-to-use-ipfs.md).

# How to Use IPFS

How to use IPFS to upload your collection on OmniHub.

OmniHub makes it easy to use IPFS-hosted metadata for your NFTs. Follow this step-by-step guide to ensure your metadata is correctly formatted, uploaded, and integrated for seamless deployment.

### **1. Prepare Your Metadata**

Before uploading, ensure your metadata follows the correct JSON format. Each NFT should have a separate metadata file containing essential attributes such as:

```
{
  "name": "Your NFT Name",
  "description": "Your NFT description",
  "image": "ipfs://your_image_cid",
  "attributes": [
    {
      "trait_type": "Background",
      "value": "Blue"
    },
    {
      "trait_type": "Rarity",
      "value": "Legendary"
    }
  ]
}
```

#### **Metadata Preparation**

* **Use consistent naming** – Each metadata file should match the corresponding image file (e.g. `/1.png`).
* **Optimize images** – Ensure they are compressed and in the correct format (PNG, JPEG, or GIF).
* **Check JSON validity** – Use tools like [JSONLint](https://jsonlint.com/) to validate your metadata files.
* **Store metadata on IPFS** – Use decentralized storage solutions to keep your metadata available long-term.

***

### 2. Upload Files to IPFS

To store images and metadata on IPFS, you can use one of the following services:

* [**Pinata**](https://www.pinata.cloud/)
* [**NFT.Storage**](https://nft.storage/)
* [**Web3.Storage**](https://web3.storage/)

#### **How to Upload**

1. **Upload all image files first** – This will generate a **CID (Content Identifier)** for the folder.
2. **Update the `image` field in your metadata** – Replace the placeholder with the actual CID, e.g.:

```
"image": "ipfs://bafybeibn.../1.png"
```

3. **Upload the metadata folder** – Once updated, upload the metadata files to IPFS to receive a new CID.

***

### 3. Generate Your IPFS Link

After uploading your metadata folder, use one of the supported URL formats in OmniHub.

#### **Native IPFS Format:**

```
ipfs://{CID}
```

#### **Example:**

```
ipfs://QmYCstCcY7kSvtystv14nJgLx16VKyZ9yxhE79peWcpEHe
```

#### **Pinata Gateway**

You can also use a Pinata Gateway URL:

```
https://gateway.pinata.cloud/ipfs/{CID}/
```

Example:

```
https://gateway.pinata.cloud/ipfs/bafybeibc5sgo2plmjkq2tzmhrn54bk3crhnc23zd2msg4ea7a4pxrkgfna/
```

#### **For External Storage:**

If you are using custom storage, make sure your metadata URLs are structured properly. Example:

```
https://your-storage.com/path/
```

***

### 4. Integrate Metadata in OmniHub

When setting up your NFT collection on OmniHub, input the **IPFS link** in the "**Metadata URL**" field. The platform will automatically recognize and apply your metadata.

#### Final Steps

* **Test your links** – Make sure your IPFS CID and metadata files are accessible before deployment. You can use an IPFS gateway to preview the files, but only supported URL formats should be entered in the Metadata URL field.
* **Ensure correct formatting** – Invalid JSON or broken links may prevent NFTs from displaying correctly.
* **Ensure supply matches metadata** – If your collection has 100 NFTs, make sure there are `{CID}/1.png`→ `{CID}/100.png`files in the folder.
* **Proceed with minting** – Once everything is verified, continue with the minting process.
