1. Plan your traits
Count the choices in each folder and multiply: that is the most different NFTs your traits can make. For 10,000 you want many times that, because rules, rare traits and traits that hide others all cut the real number. Six folders of 8, 6, 15, 10, 8 and 12 traits make 691,200. How many traits do you need? has the full maths.
2. Prepare your folders
One folder per trait type, the images directly inside, and all the folders in one parent folder. A number in front of a folder name sets the layer order, and #N in a file name sets a starting weight:
My collection/
01_Background/
Sky.png
Sunset#10.png
02_Body/
Puff.png
03_Headwear/
Crown#2.png
Bucket hat.png
1 of 1/
The original.pngDraw every trait on the same canvas size, with transparent backgrounds on every layer but the bottom one. How to prepare NFT trait layers covers sizes, names and the checklist.
3. Sign in and import the parent folder
Open the studio and sign in with an email or a wallet: it’s free, with no password, and you don’t need a wallet. Choose the parent folder, or drop it on the page. The studio reads every image on your device, notes identical images and odd sizes, then asks for the collection name, an optional NFT name and the collection size.
4. Put the layers in order
In the Traits tab, the layer at the top of the list is drawn in front. Folders arrive sorted by name, so 01_Background sits at the back. Drag a layer, or use its arrow controls, to move it.
5. Set rarity: weights, exact counts, None
Each trait has a weight (how common it is next to the others in its folder) or an exact count (how many NFTs get it). “Add empty trait” adds a None choice, for NFTs without that layer. Each trait shows how many NFTs will get it. NFT trait rarity for creators explains the rounding.
6. Add never-together rules
In the Rules tab, choose “This trait” and “This other trait”, then Add rule. The studio checks that every rule, count and uniqueness demand can be met together, and names the trait when one can’t.
7. Add 1 of 1s
Finished artworks go in the 1 of 1s tab, or in a “1 of 1” folder at import. Each appears once, counts toward the 10,000, and can be mixed throughout or placed at the end. How to add 1 of 1s.
8. Name and number your NFTs
The Metadata tab holds the NFT name, “Name numbering starts at”, “File numbering starts at”, the file extension, the description and the “Images folder address”. The address can wait until your images are hosted. A peek at your first metadata file updates as you type.
9. Preview and shuffle
The Preview tab shows your actual planned artworks, in export order. Shuffle picks a new seed and deals a fresh collection. The same traits, layer order, rules, counts and seed always give the same collection, so keep the seed (it’s in the Settings tab) and a project backup.
10. Choose PNG or JPEG and the width
In the Settings tab, “Output format” is PNG (keeps transparency) or JPEG (on a white background), and “Output width” is anything from 64 to 8,192 pixels, or empty for your traits’ own size. The shape of your traits is kept.
11. Build it: on this device or in the cloud
Press Generate collection. The export step offers two ways to build, both free.
On this device
Every image is made in your browser and nothing is uploaded. Keep the tab open until it’s done. A ZIP made in memory can hold up to 512 MB; in browsers that support it, “Save directly to disk” writes a bigger collection straight into a file. The studio suggests the cloud when a collection looks too big for your device.
In the cloud
Meant for phones, slower computers and heavy collections of up to 10,000. Your trait images are uploaded once, and a dropped connection picks up where it stopped. A fast machine builds every image, and you can close the tab once the upload is done. You get one ZIP laid out exactly like a device build, an option to save it straight into a folder, and a private link that opens the build from any browser. Anyone with that link can open it, so share it with care.
| On this device | In the cloud | |
|---|---|---|
| Price | Free | Free |
| Uploads | Nothing | Your trait images, once |
| The tab | Keep it open | Close it once the upload is done |
| Largest collection | 20,000 | 10,000 |
| Trait images | Up to 10,000, each up to 50 MB and 8,192 px | Up to 2,000, each up to 40 MB and 4,096 px on either side, 1,500 MB in all |
| Output width | 64 to 8,192 px | 64 to 4,096 px |
| What you get | One ZIP (up to 512 MB in memory, or straight to disk) | One ZIP in the same layout, a folder save and a private link |
| How long it’s kept | It’s your download | A few days (2 when we checked), then deleted |
The cloud limits are settings on our side and can change. The export step always shows the current ones.
12. Check what’s in the ZIP
Both ways give the same layout:
Puff-Editions.zip
images/ 1.png … 10000.png
json/ 1.json … 10000.json
_metadata.json every NFT’s metadata in one file
rarity.csv how often each trait landed
opensea_Metadata.csv OpenSea’s drop spreadsheet
nft-generator.json your settings, to bring back later
README.txt what’s inside, and the seedThe README also tells you if any two finished images came out identical.
13. Upload your images and set the address
Puffles doesn’t host files. Upload the images/ folder to a host you choose (IPFS, Arweave or your own https:// server), then put the folder’s address into the metadata: in the Metadata tab (then Download metadata), in My collections with “Update metadata in a finished export”, or, after a cloud build, on the build page. Set your NFT image address goes through each.
14. Mint it somewhere else
Puffles doesn’t mint or deploy a contract. Point your own contract at the json/ folder, or take the images and opensea_Metadata.csv to an OpenSea drop, whose upload takes “up to 15,000 files” (OpenSea Help), so 10,000 fits. See the OpenSea metadata format and the drop CSV.
15. Keep two backups
Projects are saved in your browser, and browser data can be cleared. From My collections, download a project backup (your traits and settings, to edit later or move to another device), and keep the finished ZIP (the output). They are different files, and you want both.
The limits in one place
| What | Limit |
|---|---|
| Collection size | Up to 20,000 NFTs, 1 of 1s included |
| Trait folders (layers) | Up to 64 |
| Traits per folder | Up to 2,000 |
| Images per import | Up to 10,000 |
| Each image | PNG, JPG or WebP, up to 50 MB and 8,192 px on either side |
| Never-together rules | Up to 5,000 |
| 1 of 1s | Up to 2,000 |
| Output | PNG or JPEG, 64 to 8,192 px wide, or your traits’ own size |
| Numbering | Files and names each start at any whole number from 0 to 1,000,000 |
| ZIP made in memory | Up to 512 MB; supported browsers can write straight to disk |
Questions people ask
Can I make 10,000 NFTs for free?
Yes. Everything in Puffles Studio is free, with no per-NFT fee and no watermark, up to 20,000 NFTs. The hosting and minting services you choose may charge their own fees. Free NFT generators compared shows what other tools charge.
Do I need to code?
No. You work with folders of images and the studio’s tabs, in your browser, with nothing to install.
Can I do it on my phone?
Where your phone’s browser can open a folder of images, yes. Choose Build in the cloud so a fast machine makes the images. You can also start on a computer and open the project backup ZIP from My collections on your phone.
How do I get the same collection again?
Use the same traits, layer order, rules, counts and seed. The nft-generator.json in your ZIP holds your settings: put it in your traits folder and import it to bring them back.
Does Puffles mint or list them?
No. It makes the images and metadata. You host the images and mint or list with the service you choose.