How to prep a CSV for Etsy bulk listing (with template)
A small set of rules that make the difference between a clean import and an afternoon of debugging. Including a free template you can copy and go.
Almost every bulk upload failure I've seen comes down to one thing: a malformed CSV. Not a bug in the tool, not a problem with Etsy — a missing comma, a weird encoding, an empty cell that got silently dropped. The CSV is the single source of truth for your batch, and if it's wrong, every row downstream is wrong.
Good news: the rules are short. If you follow them, your first bulk upload works. If you don't, you'll spend an hour figuring out why your fifty "Mountain SVG" products all got imported with the price in the tags field.
The required fields
Etsy has a handful of fields that must be populated on every new listing. Skip any of these and the listing won't save. In your CSV, these columns must exist and each row must have a value:
- title — the listing name a buyer sees. 140-character max. If you leave this blank, BulkListingPro can generate one with AI, but the column still has to be there.
- category — Etsy's taxonomy category (e.g., "Craft Supplies & Tools > Paper Craft Supplies > Patterns & How To"). The category can't be guessed reliably, so always fill this one manually.
- price — a number, no currency symbol.
4.99, not$4.99. - quantity — integer. Digital products usually list as
999or the highest quantity your product type supports. - image_1 — path or filename of the primary product image. Etsy requires at least one image per listing; additional slots (
image_2throughimage_10) are optional.
For digital products, you also need a digital_file_1 column with the path to the PDF, ZIP, SVG, or whatever file the buyer is going to download. Etsy won't save a digital listing without the file attached.
The format rules that actually matter
These are the four format rules that cause 90% of failed imports.
1. UTF-8 encoding
Save as UTF-8. Not Windows-1252, not Latin-1. If you're using Excel on Windows, this is easy to get wrong — Excel defaults to Windows-1252, which silently breaks any special character you have in a title (em dashes, curly quotes, accented letters). Always save with "UTF-8" selected in the Save As dialog, or export from Google Sheets which defaults to UTF-8.
2. Preserve empty cells
If a cell is empty, it must still exist in the row as a placeholder. In CSV, this means double commas. A valid row with an empty description between title and price looks like:
Sunset Mountain SVG,,4.99,999,sunset.jpg,sunset-bundle.zip
Note the two commas after the title. If you leave the column out entirely, every column after it shifts left by one and your price ends up in the description slot. Bulk import disaster.
3. No quotes around numbers or simple strings
Quotes only for values that contain commas or line breaks. Most CSV tools handle this automatically, but if you're hand-editing, a row like "4.99" for the price will sometimes parse as a string and fail validation. Leave it as 4.99.
4. One product per row
It sounds obvious, but people with variations often try to cram them into one row with pipe-separated fields (size1|size2|size3). Don't. Each variation gets its own row. BulkListingPro can generate the SKU column automatically so duplicates are clear.
The columns you can leave blank (and let AI fill)
Here's where the workflow gets fast. These columns can be blank in your CSV, and BulkListingPro will generate or infer them:
| Column | AI can generate? | Notes |
|---|---|---|
| title | Yes | Better to let AI draft than hand-write 100 titles |
| description | Yes | AI writes SEO-aware descriptions from the image |
| tags | Yes | Generates 13 category-tuned tags per listing |
| materials | Yes | Guessed from category (skippable for digital) |
| who_made | Defaulted | Defaults to "i_did" unless you override |
| when_made | Defaulted | Defaults to "made_to_order" for digital |
| section | Defaulted | Falls back to shop default |
| sku | Yes | Auto-generated from title if blank |
The practical workflow: fill in title manually (optional), category, price, quantity, image path, digital file path — leave the rest blank — run AI generation after import.
Step-by-step: build your first CSV
Here's the fastest path from "I have fifty new products" to "CSV ready to import":
- Download the BulkListingPro template. It's an XLSX with every supported column, pre-labeled, with example rows. You can find it inside the extension or on the main site.
- Delete the example rows once you understand the format.
- For each product, fill in: category, price, quantity, and image filename. If you have a pre-written title, add it; otherwise skip.
- Skip tags, description, materials, who_made, when_made — AI will handle them.
- Put all your product images in one folder and use bare filenames (e.g.,
mountain-sunset.jpg, notC:\Users\me\images\mountain-sunset.jpg). BulkListingPro will ask for the folder on import. - Same for digital files — one folder, bare filenames in the
digital_file_1column. - Save as XLSX (easiest) or CSV with UTF-8 encoding.
- Import into BulkListingPro. It'll validate every row, flag anything malformed, and drop you into the editor with everything ready for AI generation.
Mistakes I see on every first-timer's CSV
Even with the rules written down, these are the four that trip everyone up on their first batch:
Currency symbols in the price column. $4.99 fails to parse. Use 4.99.
Tags as a single string instead of 13 separated values. Tags should be a comma-separated string within a CSV cell that's itself quoted, like "boho,minimalist,digital download,svg". BulkListingPro accepts this format and splits into individual tags on import.
Missing image file. The CSV has mountain.jpg in the image column, but there's no mountain.jpg in your images folder. BulkListingPro catches this on import and flags the row, but it still slows you down.
Category typos. Etsy's categories are strict. "Craft Supply" isn't a category — "Craft Supplies & Tools" is. If you're hand-typing categories, copy them from Etsy's category picker or use the BulkListingPro category helper.
The shortest possible valid CSV
Just to prove it: here's the minimum viable CSV for a bulk Etsy upload. Three rows of listings, only the required fields:
title,category,price,quantity,image_1,digital_file_1 Mountain Sunset SVG,Craft Supplies & Tools > Paper Craft Supplies > Patterns & How To,4.99,999,mountain.jpg,mountain.zip Beach Scene SVG,Craft Supplies & Tools > Paper Craft Supplies > Patterns & How To,4.99,999,beach.jpg,beach.zip Forest Path SVG,Craft Supplies & Tools > Paper Craft Supplies > Patterns & How To,4.99,999,forest.jpg,forest.zip
Drop this into BulkListingPro, run AI generation for titles and tags and descriptions, review, upload. Forty minutes later you have three clean listings live on Etsy. Not the most exciting batch, but it proves the format works.
When to go beyond the minimum
Once the minimum CSV is working, start adding columns as you need them:
- Multiple images:
image_2,image_3, etc. up toimage_10 - Shipping info (physical products only): processing time, weight, dimensions
- Variations: use BulkListingPro's variation columns or one row per variation
- Personalization:
is_personalizableandpersonalization_instructions
For most digital product sellers, the minimum plus images is all you'll ever need. Extra columns are for specific edge cases.
Frequently asked questions
What CSV format does BulkListingPro accept for Etsy uploads?
BulkListingPro accepts standard CSV (comma-separated values) and XLSX files. The file should be UTF-8 encoded, use commas as separators, and preserve empty cells (leave a placeholder comma, don't omit the column). A reference template is available for download inside the extension.
Can I use XLSX instead of CSV for Etsy bulk uploads?
Yes. BulkListingPro reads both .csv and .xlsx files. XLSX is often easier to work with because Excel and Google Sheets handle the formatting quirks automatically (preserved empty cells, UTF-8 encoding). CSV is useful if you're generating the file from another system or script.
Do I need every Etsy listing column filled in?
No. Only a handful are strictly required: title, category, price, quantity, and at least one image. Tags, description, materials, who-made, when-made, and most other fields can be blank and either filled in via AI generation or left as Etsy's defaults. The CSV column still has to exist — just leave the cell empty.
How do I add image paths to my Etsy CSV?
BulkListingPro accepts either absolute file paths or filenames that resolve against a folder you pick during import. The simplest approach is to keep all product images in one folder, use just the filename in your CSV (e.g., 'sunset-svg-01.jpg'), and point BulkListingPro at that folder when it asks. Digital product files work the same way.
Related on the BulkListingPro blog
Skip the formatting pain
BulkListingPro ships with a tested Etsy CSV template. Download, fill in, import.
Install Free from Chrome Web Store10 free credits included. No credit card required.