Skip to content

All import files

Shopify product CSV: columns, rules and a template

The columns Shopify reads from a product CSV, how photos and drafts work in it, and a template to start from. Cataloger writes this file from your photos and checks it first.

Checked against Shopify’s help pages on October 20, 2026. Cataloger isn’t affiliated with Shopify.

The file

Shopify imports products from a CSV file in UTF-8, with the headers in the first row spelled the way Shopify's own sample file spells them. Only Title is required for a new product. A product with more than one photo also needs a URL handle, because its photos sit on extra rows that share that handle.

Columns

These are the columns Cataloger writes, straight from its exporter. Columns it leaves out keep Shopify's defaults.

ColumnRequiredCataloger fills it fromNotes
TitleYesThe drafted lot
URL handleNoBuilt for youBuilt from the title and lot number, with letters, digits and dashes.
DescriptionNoThe drafted lotThe product body. Line breaks become <br>.
VendorNoLeft blank unless you map it
Product categoryNoLeft blank unless you map itA Shopify Standard Product Taxonomy breadcrumb or id.
TypeNoLeft blank unless you map it
TagsNoThe drafted lotComma separated, with letters, numbers and hyphens.
Published on online storeNoAlways "false"
StatusNoAlways "draft"
SKUNoThe drafted lot
Option1 nameNoAlways "Title"
Option1 valueNoAlways "Default Title"
PriceNoYour price ruleYour price rule below fills it. Prices are never set by AI. Blank means 0.00.
Compare-at priceNoLeft blank unless you map it
Inventory trackerNoAlways "shopify"
Inventory quantityNoAlways "1"
Continue selling when out of stockNoAlways "deny"
Requires shippingNoAlways "true"
Fulfillment serviceNoAlways "manual"
Product image URLNoPhoto linksOne row per photo, as public https links.
Image positionNoPhoto links
Image alt textNoThe drafted lotAt most 512 characters.
SEO titleNoLeft blank unless you map itAt most 70 characters. Blank uses the title.
SEO descriptionNoLeft blank unless you map itAt most 320 characters. Blank uses the description.
Google Shopping / ConditionNoBuilt for youFrom the condition option.

Photos and drafts

The first row of a product carries the product. Each further photo gets its own row with only the URL handle, the photo link, its position and its alt text. Shopify takes up to 250 photos per product and copies them during the import, so the links only need to work until it finishes.

Every product comes in with Status set to draft and Published on online store set to false. Nothing appears in your store until you publish it.

URL handles are built from the title and the lot number, using letters, numbers and dashes, and kept unique across the file.

What stops the download

  • Title is blank.
  • Price or Compare-at price isn't a plain number.
  • SEO title is longer than 70 characters, SEO description longer than 320, or image alt text longer than 512.
  • A product has more than 250 photos.

Warnings don't stop it: a blank price, which Shopify reads as 0.00, photo links that aren't public https, and tags with symbols or accented letters.

Prices

Cataloger never sets a price itself. Your price rule writes the Price column from each estimate, such as the middle of the range rounded to $5, and can go up to 500% of the low, middle or high estimate.

A sample file

The first rows of the file Cataloger writes for two demo products, priced at the middle of the estimate rounded to $5. The blank template has the same header row and no products.

TitleURL handleDescriptionVendorProduct categoryTypeTagsPublished on online storeStatusSKUOption1 nameOption1 valuePriceCompare-at priceInventory trackerInventory quantityContinue selling when out of stockRequires shippingFulfillment serviceProduct image URLImage positionImage alt textSEO titleSEO descriptionGoogle Shopping / Condition
Fujifilm FinePix X100 digital camerafujifilm-finepix-x100-digital-camera-102Silver and black Fujifilm X100 compact camera with a fixed Fujinon lens, textur…camera, digital camera, Fujifilm, FinePix X100falsedraft102TitleDefault Title550.00shopify1denytruemanualhttps://cataloger.ai/catalogger/fujifilm-x100-1.jpg1Fujifilm FinePix X100 digital cameraused
fujifilm-finepix-x100-digital-camera-102https://cataloger.ai/catalogger/fujifilm-x100-2.jpg2Fujifilm FinePix X100 digital camera
fujifilm-finepix-x100-digital-camera-102https://cataloger.ai/catalogger/fujifilm-x100-3.jpg3Fujifilm FinePix X100 digital camera
Nintendo Game Boy DMG-01 handheld consolenintendo-game-boy-dmg-01-handheld-console-106Original gray Nintendo Game Boy DMG-01 handheld console, photographed from the …video game console, handheld console, Nintendo, Game Boy, DMG-01falsedraft106TitleDefault Title85.00shopify1denytruemanualhttps://cataloger.ai/catalogger/game-boy-dmg01-1.jpg1Nintendo Game Boy DMG-01 handheld consoleused
nintendo-game-boy-dmg-01-handheld-console-106https://cataloger.ai/catalogger/game-boy-dmg01-2.jpg2Nintendo Game Boy DMG-01 handheld console
nintendo-game-boy-dmg-01-handheld-console-106https://cataloger.ai/catalogger/game-boy-dmg01-3.jpg3Nintendo Game Boy DMG-01 handheld console
nintendo-game-boy-dmg-01-handheld-console-106https://cataloger.ai/catalogger/game-boy-dmg01-4.jpg4Nintendo Game Boy DMG-01 handheld console
nintendo-game-boy-dmg-01-handheld-console-106https://cataloger.ai/catalogger/game-boy-dmg01-5.jpg5Nintendo Game Boy DMG-01 handheld console
nintendo-game-boy-dmg-01-handheld-console-106https://cataloger.ai/catalogger/game-boy-dmg01-6.jpg6Nintendo Game Boy DMG-01 handheld console

Blank templateThis sample file

Uploading it

The same notes Cataloger shows next to the download:

  • Products > Import, then review the drafts in the Shopify admin before publishing.
  • Price is your price rule applied to each estimate. Prices are never set by AI.
  • Photos are copied by Shopify during the import, so the links only need to work until it finishes.