# Uploading ERC721 NFT Images to IPFS

If you choose to deploy your NFT collection via an IPFS URL, you can follow this guide to ensure you are doing it right!\
\
This guide goes into detail, specifically on how to upload your ERC721 NFT Collection Images to IPFS.\
\
**Step 1:** Create an account on <https://nft.storage/>\
**Step 2:** Download the NFTUP Desktop Application: <https://nft.storage/docs/how-to/nftup/>\
**Step 3:** Prepare your NFT images for upload.

<figure><img src="https://4148298149-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F73azcO5XoRCtlZLD2krN%2Fuploads%2FnjI4hqcTUgidxD6eyTHy%2Fimage.png?alt=media&#x26;token=ca61971d-dbf3-4625-96b0-d382666b0da0" alt=""><figcaption><p>NFT Images Directory</p></figcaption></figure>

Before uploading your NFT Collection Images, **it is important that the names follow a proper format!**\
\
In this case the NFT Images should start from 0.png up to as many as you would like in ascending order. \
\
For example: 0.png, 1.png, 2.png, 3.png, 4.png and so on.

It is also important that you use a .png format before uploading these images. If your images are currently .jpg, you can use the tool below to convert it to a proper.png format.

{% embed url="<https://jpg2png.com/>" %}

***If you don't use the .png format there is a risk your images will not appear properly!***

**Step 4:** Uploading your images

<figure><img src="https://4148298149-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F73azcO5XoRCtlZLD2krN%2Fuploads%2FOQT1Fn5eLcEJ1YIXGNhd%2Fimage.png?alt=media&#x26;token=0f181542-1be1-4804-83e6-7cc612202de5" alt=""><figcaption></figcaption></figure>

Drag and drop all your images at once for upload.

You might be asked to enter an API key, if you are you can create it with the link below.

API Key Creation Page: <https://nft.storage/manage/>\
\
**Step 5:** Save the IPFS URL

<figure><img src="https://4148298149-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F73azcO5XoRCtlZLD2krN%2Fuploads%2FCMrrYLNXOTUTriIo43pW%2Fimage.png?alt=media&#x26;token=d07d11a0-a6fb-4e80-85a8-e1818e4fb25d" alt=""><figcaption><p>Upload Success Screen</p></figcaption></figure>

Once your images are uploaded you will see the success screen, copy the IPFS URL and save it somewhere.

**Valid IPFS URL Example:** *ipfs\://bafybeiamrt5wez3tfxlqnn3wtqiqwxa5uktubiuidm3huohgihsgekyrdq*

A valid IPFS URL starts with `ipfs://`

**DO NOT CLOSE NFTUP JUST YET AS YOU WILL NEED IT LATER ON.**

**Step 6:** Generating your NFT Metadata files.\
**IMPORTANT NOTE: For each unique NFT, you will need to generate a UNIQUE file**\
&#x20;\
Go to the following URL: <https://json-generator.com/>

Then paste in the following code onto the left panel:

```json
{
    "name": "COLLECTION NAME",
    "description": "COLLECTION DESCRIPTION",
    "image": "ipfs://bafybeihvaunlfbdyh5i4w2vsq4hw4mumjhf77mcss3bs5birac2tvwptdq/0.png",
    "external_url": "YOUR WEBSITE URL",
    "attributes": [  
      {
        "trait_type": "Base", 
        "value": "Starfish"
      }, 
      {
        "trait_type": "Eyes", 
        "value": "Big"
      }, 
      {
        "trait_type": "Mouth", 
        "value": "Surprised"
      }, 
      {
        "trait_type": "Level", 
        "value": 5
      }, 
      {
        "trait_type": "Stamina", 
        "value": 1.4
      }, 
      {
        "trait_type": "Personality", 
        "value": "Sad"
      }
    ]
}
```

Modify your `name`, `description`, `external_url`, and `attributes`accordingly.\
\
For the `image` property you can paste in your appended IPFS URL that you had made from Step 5 WITH the proper image number such as \`{IPFS\_URL}/0.png\`

You can also refer to the Opensea Documentation to see what properperties can go with your NFT metadata.

{% embed url="<https://docs.opensea.io/docs/metadata-standards>" %}

**Step 7:** Click on the blue Generate button on the middle of the screen.\
**Step 8:** Download the .json file and save it as `0`,  `1`, `2`whatever the current NFT ID is and save it in the same directory.

<figure><img src="https://4148298149-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F73azcO5XoRCtlZLD2krN%2Fuploads%2FEQSHhhzhPGmsGbBJcPW1%2Fimage.png?alt=media&#x26;token=e17decbd-dd7b-4301-9a04-f1dd374c88a8" alt=""><figcaption></figcaption></figure>

**Step 9:** Repeat Step 5 - 8 for each INDIVIDUAL NFT.

**Step 10:** Return to NFT UP and upload ALL the generated JSON files that you completed in Step &#x39;**.**

<figure><img src="https://4148298149-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F73azcO5XoRCtlZLD2krN%2Fuploads%2FOQT1Fn5eLcEJ1YIXGNhd%2Fimage.png?alt=media&#x26;token=0f181542-1be1-4804-83e6-7cc612202de5" alt=""><figcaption></figcaption></figure>

**IMPORTANT:** Drag and drop all your JSON Files at once for upload.

Once uploaded, you should see a Gateway URL link, you can open that link to make sure your data is uploaded properly.\
\
The uploaded data should follow a similar structure such as this: <https://bafybeicqorxbz5rq23oklfzxz532lxp7k5d5wygnni7gejpescqg67hgna.ipfs.nftstorage.link/>

**Step 11:** Save the IPFS URL

<figure><img src="https://4148298149-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F73azcO5XoRCtlZLD2krN%2Fuploads%2FCMrrYLNXOTUTriIo43pW%2Fimage.png?alt=media&#x26;token=d07d11a0-a6fb-4e80-85a8-e1818e4fb25d" alt=""><figcaption><p>Upload Success Screen</p></figcaption></figure>

Once your images are uploaded you will see the success screen, copy the IPFS URL and save it somewhere.

**Valid IPFS URL Example:** *ipfs\://bafybeiamrt5wez3tfxlqnn3wtqiqwxa5uktubiuidm3huohgihsgekyrdq*

A valid IPFS URL starts with `ipfs://`

Submit the IPFS URL to the QuickLaunch Bot `NFT IPFS URL` field.
