---
title: Step 2 - Edit CSV File
slug: nftportal/step-2-edit-csv-file
docTags: 
createdAt: 2022-05-31T21:33:37.000Z
---

In the previous step [Step 1 - Initialize collection](docId\:Nr4VCZE1jdSiew5SCCksA)  a template CSV file `00000.nfts.csv` was created. The purpose of this file is to provide all necessary information for each NFT in your collection in an easy as possible way. This requires, that the artist edits the [CSV file](https://en.wikipedia.org/wiki/Comma-separated_values) according to his NFTs. This can be done most efficiently within MS Excel, Google Spreadsheet or similar tools.&#x20;

## Structure of the CSV&#x20;

Each line within the document represents a single NFT, and a file may look like this

```none
name,description,symbol,edition,royalties,identifier,image1,image2,image3,attribute1,attribute2,attribute3,attribute4,attribute5,attribute6,attribute7,attribute8,listingMode,price,offerPrice,auctionEnd
Awesome NFT #1,This is the most valuable NFT ever,AWESOME,Summer,10,1,/home/ohager/Desktop/massup_test_data/1.png,,,key1:value1,key2:value2,key3:value3,,,,,,FixedPrice,1000,0,
Awesome NFT #2,This is the most valuable NFT ever,AWESOME,Summer,10,2,/home/ohager/Desktop/massup_test_data/2.png,,,key1:value1,key2:value2,key3:value3,,,,,,FixedPrice,1000,0,
Awesome NFT #3,This is the most valuable NFT ever,AWESOME,Summer,10,3,/home/ohager/Desktop/massup_test_data/3.png,,,key1:value1,key2:value2,key3:value3,,,,,,FixedPrice,1000,0,
Awesome NFT #4,This is the most valuable NFT ever,AWESOME,Summer,10,4,/home/ohager/Desktop/massup_test_data/4.png,,,,,,,,,,,FixedPrice,1000,0,
Awesome NFT #5,This is the most valuable NFT ever,AWESOME,Summer,10,5,/home/ohager/Desktop/massup_test_data/5.png,,,,,,,,,,,FixedPrice,1000,0,
Awesome NFT #6,This is the most valuable NFT ever,AWESOME,Summer,10,6,/home/ohager/Desktop/massup_test_data/6.png,,,,,,,,,,,FixedPrice,1000,0,
Awesome NFT #7,This is the most valuable NFT ever,AWESOME,Summer,10,7,/home/ohager/Desktop/massup_test_data/7.png,,,,,,,,,,,OnAuction,500,1100,2022-05-30T10:00:00Z
Awesome NFT #8,This is the most valuable NFT ever,AWESOME,Summer,10,8,/home/ohager/Desktop/massup_test_data/8.png,,,,,,,,,,,NotForSale,1000,0,
Awesome NFT #9,This is the most valuable NFT ever,AWESOME,Summer,10,9,/home/ohager/Desktop/massup_test_data/9.png,,,,,,,,,,,FixedPrice,1000,0,
Awesome NFT #10,This is the most valuable NFT ever,AWESOME,Summer,10,9,/home/ohager/Desktop/massup_test_data/10.png,,,,,,,,,,,FixedPrice,1000,0,

```



| Column         | Description                                                                                                                                                                                                                                                                                                                        | Format                                                                                                                                                                                | Example                                                                                       |
| -------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- |
| name\*         | The Name of the NFT                                                                                                                                                                                                                                                                                                                | String (Min: 4 Max: 32)                                                                                                                                                               | Cute Monstas                                                                                  |
| description\*  | The Description of the NFT                                                                                                                                                                                                                                                                                                         | String (Min: 16 Max: 512)                                                                                                                                                             | This is the ultimate collection of cute monstas                                               |
| symbol         | A alphanumeric Symbol                                                                                                                                                                                                                                                                                                              | String (Max: 16)                                                                                                                                                                      | MONSTA                                                                                        |
| edition        | A alphanumeric Edition                                                                                                                                                                                                                                                                                                             | String (Max: 24)                                                                                                                                                                      | Season 1                                                                                      |
| royalties\*    | The royalties in percent you earn when sold                                                                                                                                                                                                                                                                                        | Number (Max: 25)                                                                                                                                                                      | 10                                                                                            |
| identifier     | Some numeric identifier, usually an incremental value                                                                                                                                                                                                                                                                              | Number                                                                                                                                                                                | 666                                                                                           |
| image1\*       | The <u>absolute</u> file path to the first image                                                                                                                                                                                                                                                                                   | String - Supported formats are PNG, JPG, WEBP, GIF, SVG                                                                                                                               | /home/ohager/Desktop/generated-cute-monstas/4.png<br />(Posix and Windows paths are possible) |
| image2         | The <u>absolute</u> file path to the second image                                                                                                                                                                                                                                                                                  | String - Supported formats are PNG, JPG, WEBP, GIF, SVG                                                                                                                               |                                                                                               |
| image3         | The <u>absolute</u> file path to the third image                                                                                                                                                                                                                                                                                   | String - Supported formats are PNG, JPG, WEBP, GIF, SVG                                                                                                                               |                                                                                               |
| attribute1     | The attribute/trait of the NFTs. This value is used to calculate rarities within a collection. It is a key-value tuple and each NFT can have up to eight attributes                                                                                                                                                                | String Pattern: `key:value` (separated by `:` )                                                                                                                                       | background\:green                                                                             |
| attribute2     |                                                                                                                                                                                                                                                                                                                                    |                                                                                                                                                                                       |                                                                                               |
| attribute3     |                                                                                                                                                                                                                                                                                                                                    |                                                                                                                                                                                       |                                                                                               |
| attribute4     |                                                                                                                                                                                                                                                                                                                                    |                                                                                                                                                                                       |                                                                                               |
| attribute5     |                                                                                                                                                                                                                                                                                                                                    |                                                                                                                                                                                       |                                                                                               |
| attribute6     |                                                                                                                                                                                                                                                                                                                                    |                                                                                                                                                                                       |                                                                                               |
| attribute7     |                                                                                                                                                                                                                                                                                                                                    |                                                                                                                                                                                       |                                                                                               |
| attribute8     |                                                                                                                                                                                                                                                                                                                                    |                                                                                                                                                                                       |                                                                                               |
| listingMode\*  | The initial listing mode, i.e For Sale, For Auction, or Not For Sale                                                                                                                                                                                                                                                               | One of:<br />`FixedPrice` `OnAuction` or `NotForSale`                                                                                                                                 | OnAuction                                                                                     |
| price\*\*      | Only required if `listingMode` is `OnAuction` or `FixedPrice` - The initial price n SIGNA<br />Only required if `listingMode` is `OnAuction` - "Buy Now" price for auctions in SIGNA<br />Only required if `listingMode` is `OnAuction` - "Buy Now" price for auctions in SIGNA<br />Only required if `listingMode` is `OnAuction` | Number                                                                                                                                                                                | 1000                                                                                          |
| offerPrice\*\* | Only required if `listingMode` is `OnAuction` - "Buy Now" price for auctions in SIGNA<br />Only required if `listingMode` is `OnAuction` <br />Only required if `listingMode` is `OnAuction`                                                                                                                                       | Number<br />                                                                                                                                                                          | 1500                                                                                          |
| auctionEnd\*\* | Only required if `listingMode` is `OnAuction` - Date and Time when auction ends. The date will be converted in Blocktime and might result in estimated targed time. This way minute precision is not guaranteed.                                                                                                                   | Date String in [](https://en.wikipedia.org/wiki/ISO_8601)[ISO-Format](https://en.wikipedia.org/wiki/ISO_8601): `YYYY-MM-DDThh:mm:ssZ`<br /><br />(best is to use UTC-00 time aka GMT) | 2022-05-30T10:00:00Z                                                                          |

## Validate the CSV file

Editing so much data/lines can be error prone, so validation of the input data is necessary. Of course, the `signumart-massup` tool provides validation. Simply use the `collection commit` command in Trial Mode like this:

```bat
$> signumart-massup collection commit --try

=================== TRIAL RUN ====================
Nothing will be generated
================================================

Found Collection
┌────────────────────┬─────────────────────────────────────────────────────────────┐
│      (index)       │                           Values                            │
├────────────────────┼─────────────────────────────────────────────────────────────┤
│         Id         │                    '3267705388183728528'                    │
│        Name        │                     'massup_logo_test'                      │
│    Description     │                'A lot of cool,Signum Logos'                 │
│      Socials       │                             ''                              │
│     Home Page      │                             ''                              │
│     Background     │ 'QmRC1ihQaDTnKALzhkMhWE1hL8SNNS9a5oT36iQjspFwdH:image/webp' │
│ Social Media Image │ 'QmVs4dCX5WBNYFuRuVhUfB3ZAcH6vsiZcFVe9VYVCabeEV:image/webp' │
└────────────────────┴─────────────────────────────────────────────────────────────┘
? Do you want to continue preparing the NFTs data for upload? Yes
✔ Congratulations. All data is valid
┌─────────────────────────────┬──────────────┐
│           (index)           │    Values    │
├─────────────────────────────┼──────────────┤
│            Count            │      10      │
│        Auction Count        │      1       │
│       For Sale Count        │      8       │
│     Not For Sale Count      │      1       │
│    Minimum Total Amount     │ '9500 SIGNA' │
│    Attribute Keys Count     │      3       │
│  Distinct Attributes Count  │      3       │
│ Items With Attributes Count │      3       │
│      Validation Errors      │      0       │
└─────────────────────────────┴──────────────┘

*** TRIAL run finished. No artifacts were created.
```

In case of errors they will be shown like in the following example:

```bat
$> signumart-massup collection commit --try

=================== TRIAL RUN ====================
Nothing will be generated
================================================

Found Collection
┌────────────────────┬─────────────────────────────────────────────────────────────┐
│      (index)       │                           Values                            │
├────────────────────┼─────────────────────────────────────────────────────────────┤
│         Id         │                    '3267705388183728528'                    │
│        Name        │                     'massup_logo_test'                      │
│    Description     │                'A lot of cool,Signum Logos'                 │
│      Socials       │                             ''                              │
│     Home Page      │                             ''                              │
│     Background     │ 'QmRC1ihQaDTnKALzhkMhWE1hL8SNNS9a5oT36iQjspFwdH:image/webp' │
│ Social Media Image │ 'QmVs4dCX5WBNYFuRuVhUfB3ZAcH6vsiZcFVe9VYVCabeEV:image/webp' │
└────────────────────┴─────────────────────────────────────────────────────────────┘
? Do you want to continue preparing the NFTs data for upload? Yes
✖ Found 2 errors


*** FOUND ERRORS ****
┌─────────┬─────────────────────────────────────────────────────────────────────────────────┐
│ (index) │                                     Values                                      │
├─────────┼─────────────────────────────────────────────────────────────────────────────────┤
│    0    │ 'Parse Error in line 8: /name: maxLength must NOT have more than 32 characters' │
│    1    │                  'Parse Error in line 10: End Date is invalid'                  │
└─────────┴─────────────────────────────────────────────────────────────────────────────────┘
┌─────────────────────────────┬──────────────┐
│           (index)           │    Values    │
├─────────────────────────────┼──────────────┤
│            Count            │      8       │
│        Auction Count        │      0       │
│       For Sale Count        │      7       │
│     Not For Sale Count      │      1       │
│    Minimum Total Amount     │ '8000 SIGNA' │
│    Attribute Keys Count     │      0       │
│  Distinct Attributes Count  │      0       │
│ Items With Attributes Count │      3       │
│      Validation Errors      │      2       │
└─────────────────────────────┴──────────────┘
Found 2 validation errors in [/home/ohager/code/signum/signum-art-massup/local_tests/massup_logo_test/00000.nfts.csv] - You need to fix them before you can continue
```

:::hint{type="info"}
Before you execute a command, you should select the folder in which the csv and the data are stored in the command line tool!
:::

