Free tool · No signup · 100% private

Free Shopify Product CSV Template Generator

Get a correct, ready-to-use Shopify product import CSV — with every standard column in the right order — so your import does not fail. Pick the columns you need and download a blank template or a filled example file.

Generated right here in your browser — nothing is uploaded. 100% free.

Choose your columns

29 columns selected · Handle and Title are always included
Saves as shopify-product-template.csv / shopify-product-example.csv

Shopify product CSV field reference

Every standard column in a Shopify product import CSV, what it does, and an example value. Only Handle and Title are strictly required — everything else is optional but recommended.

ColumnRequired?What it doesExample
HandleRequiredUnique URL-safe id that groups a products rows (variants + extra images). Lowercase, hyphenated.classic-tee
TitleRequiredThe product name. Lives on the products first row only.Classic Cotton Tee
Body (HTML)OptionalProduct description. HTML allowed. First row only.<p>Soft 100% cotton tee.</p>
VendorOptionalBrand or manufacturer. First row only.Acme Apparel
Product CategoryOptionalShopifys standard product taxonomy category (helps tax + channels). First row only.Apparel & Accessories > Clothing > Shirts & Tops
TypeOptionalYour own custom product type. First row only.T-Shirt
TagsOptionalComma-separated tags. First row only.cotton, basics, summer
PublishedOptionalTRUE to publish to the Online Store sales channel, FALSE to keep hidden. First row only.TRUE
Option1 NameOptionalName of the first option (e.g. Size, Color). Use "Title" for products with no real options.Title
Option1 ValueOptionalValue for the first option on this variant row. Use "Default Title" when there are no options.Default Title
Option2 NameOptionalName of the second option, if the product has one. First row only.
Option2 ValueOptionalValue for the second option on this variant row.
Variant SKUOptionalStock-keeping unit for this variant. One per variant row.TEE-CLS
Variant GramsOptionalVariant weight in grams (used for shipping rates).180
Variant Inventory TrackerOptionalSet to "shopify" to track inventory, or leave blank for none.shopify
Variant Inventory QtyOptionalOn-hand quantity for this variant at the default location.100
Variant Inventory PolicyOptional"deny" to stop selling at zero stock, or "continue" to oversell.deny
Variant Fulfillment ServiceOptionalWho fulfills the variant — usually "manual".manual
Variant PriceOptionalSelling price for this variant. Numbers only, no currency symbol.24.00
Variant Compare At PriceOptionalOriginal / "was" price shown struck-through for a sale.79.00
Variant Requires ShippingOptionalTRUE for physical goods, FALSE for digital / services.TRUE
Variant TaxableOptionalTRUE if the variant should have tax charged.TRUE
Variant BarcodeOptionalBarcode (ISBN, UPC, GTIN, etc.) for this variant.
Image SrcOptionalPublic URL of a product image. Extra images go on their own extra rows that share the Handle.https://cdn.example.com/tee.jpg
Image PositionOptionalOrder the image appears in the gallery (1, 2, 3, …).1
Image Alt TextOptionalAlt text for the image (accessibility + SEO).Classic cotton tee, front
Gift CardOptionalTRUE only if the product is a gift card. First row only.FALSE
SEO TitleOptionalCustom page title for search engines. First row only.Classic Cotton Tee | Acme Apparel
SEO DescriptionOptionalCustom meta description for search engines. First row only.Soft, breathable 100% cotton tee for everyday wear.
StatusOptionalProduct status: active, draft, or archived. First row only.active

How Shopify CSV import works

  1. 1

    One product = one or more rows

    A simple product is a single row. A product with variants gets one row per variant — all sharing the same Handle.

  2. 2

    Handle ties the rows together

    Shopify groups rows by Handle. The first row carries the product details (Title, Body, Tags, Status); extra variant rows leave those blank.

  3. 3

    Extra images = extra rows

    Each additional product image goes on its own extra row that shares the Handle and fills only Image Src / Position / Alt Text.

To import: in Shopify admin go to Products → Import, upload your CSV, map any unrecognized columns, and preview before you commit. The example file above already follows this exact row pattern — open it in a spreadsheet to see the two-variant product.

Or skip the template entirely

Lasso auto-maps any CSV — typos, abbreviations, even non-English headers — so you do not even need this template. Better yet, skip CSVs altogether: Lasso edits your live store from chat, with a before/after diff on every change and one-click undo after.

Add Lasso to Shopify — Free

Everything happens in your browser

This generator is 100% client-side. The CSV is built with JavaScript on your own machine and downloaded straight to your computer — there is no upload, no server, no database, and no cost. We never see your data.

Stop fighting CSVs. Edit your store in plain English.

Lasso is a Shopify bulk editor you talk to. Change prices, tags, SEO, titles and more across your whole catalog from chat — with a visual diff before every apply and one-click undo after. Free to install.

Add Lasso to Shopify — Free

Cart

Your cart is empty

Add some items to get started