Using CSV files to import and export products

You can use a CSV (comma-separated values) file to import products into your Shopify store, and to export products from your store. When you use a CSV file, you can import or export a large number of products and their details at same time. This can be helpful if you want to exchange product information between Shopify and other platforms.

To learn more about how to use CSV files, refer toopen and edit a CSV file.

Download a sample CSV file

You can download and view asample product CSV fileto use as a template. If you use the sample file, then be aware of the following details:

  • The sample file contains an example product and a couple of variants. Your import file probably contains many more products and variants. If you use the sample file to create your own import file, then make sure that you remove all the example products.
  • The sample file includes theVariant Inventory Qtycolumn, which is only used for stores that have a single location. If you use multiplelocationsand you want to import or export inventory quantities, then use theinventory CSV file.
  • The sample file includes thePrice / InternationalandCompare At Price / Internationalcolumns, but both are left blank as there aren't any unique pricing requirements for these products when being sold internationally. Learn more aboutShopify Markets CSV columns.

Considerations for the product CSV file

Before you use a product CSV file, review the following considerations.

Formatting the product CSV file

For your product CSV file to function correctly, verify the that it meets the following criteria:

  • The first line of your product CSV file must be the column headers as specified in theproduct CSV description table.
  • Each column must be separated by a comma.

Required columns in the product CSV file

These columns must be present under the following conditions:

  • When you create a product CSV file to import new products, the only required column isTitle. If you're adding variants for a product, then theHandlecolumn is also required.
  • When you update products using a CSV file, the only required columns areHandleandTitle.

Data dependencies

Even though theTitleandHandlecolumns are the only required columns when you update products using a CSV file, the data in some columns depends on the data in other columns.

For example, if you update a column that is related to variants, such asVariant SKUorVariant Grams, then the data in those columns depends on the data about the corresponding variants. In this case, you must also include theOption1 NameandOption1 Valuecolumns.

Before you remove or exclude columns from your CSV file, verify whether the data in any other columns depends on the data in the columns that you want to remove or exclude. If your data depends on a column that is missing, then you receive an error when you try to import your product CSV file.

Shopify Markets CSV columns

If you haveShopify Marketsset up on your store, then your CSV export reflects the unique markets that you created. By default, your CSV has the following columns:

  • Included / [Primary]where[Primary]is replaced by the name of yourprimary market
  • Included / International
  • Price / International
  • Compare At Price / International

If you replace your international market with your own market, then in the header name,Internationalchanges to the name of the market.

For example, if you create a market for each individual continent, and one of your market names is南美, then the column headings are adjusted as follows in the CSV export file:

  • Included / InternationalbecomesIncluded / South America
  • Price / InternationalbecomesPrice / South America
  • Compare At Price / InternationalbecomesCompare At Price / South America

Columns in the product CSV file that must contain values

In addition to theTitlecolumn, some other columns must have a value. When a column requires a value, but is blank, then a default value is created automatically in the following cases:

  • The column is present, but the values in that column are blank.
  • The column isn't present in the CSV file, but the values can't be blank.

The following table describes which columns must have a value, and the default value that is created automatically if the column is blank.

Columns in the product CSV file that must have a value and the default values that are created automatically if no value is present.
Column Default value created when the column is blank
Handle This value is created based on the value in theTitlecolumn. For example, if the value in theTitlecolumn isBlack Sun Glasses, then the value in this column isblack-sun-glasses.
Vendor The name of the store as you entered it when youcreated your Shopify account. For example,John's Apparelorjohns-apparel. This is the same store name that you use when you log in to Shopify.
Published 真正的, which means that this product will be published and available in the online store sales channel.
Option1 Title
Option1 Value Default Title
Variant Grams 0.0
Variant Inventory Qty 0
Variant Inventory Policy

deny

When the value isdeny, it indicates that the product can't be purchased after its inventory level reaches zero.

Variant Fulfillment Service manual
Variant Price 0.0
Variant Requires Shipping

真正的

When the value is真正的, it indicates that the product is a physical product.

Variant Taxable 真正的
Gift Card

false

When the value isfalse, it indicates that the product isn't a gift card.

Variant Weight Unit kg
Included / [Primary]

This column indicates whether or not the product is included for sale in your primary market. The default value is真正的.

This column heading name varies depending on the country or region determined to be your primary market inShopify Markets. If you change the default primary market, then your column headers display with the new market name. Refer to theconsiderations sectionfor more information.

Learn more about howoverwriting existing productsaffects the data in this column.

Included / International

If you sell internationally, then this column indicates whether or not the product is included for sale in that market. The default value is真正的.

This column heading name varies depending on theShopify Marketsthat you have set up on your store. The default market isInternational. If you change the default market or add any new markets, then your column headers display with those market names. Refer to theconsiderations sectionfor more information.

Learn more about howoverwriting existing productsaffects the data in this column.

Status If this column is present, then it needs to have a value. If the column isn't present, then the product status is automatically uploaded asactive.

For more information about these and other columns, refer to theproduct CSV description table.

Overwriting product details using an import CSV file

When you import a CSV file, you can select the optionOverwrite any current products that have the same handle. Existing values will be used for any missing columns.If you select this option, then when the handle in the import CSV file matches an existing handle in your products list, the values in CSV file overwrite the values in the matching columns in the existing product list. If the overwrite option isn't selected, then the products that match an existing handle will be ignored during CSV import.

  • If a non-required column in the import CSV file is blank, then the matching value in the product list is overwritten as blank.
    • For example, theVendorvalue in your existing product list isJohn's Apparel, but theVendorcolumn is blank in the CSV file that you import, then theJohn's Apparelis overwritten as blank.
  • If a non-required column is not included in the import CSV file, but is included in the existing product list, then the value in the product list remains the same.
    • For example, if theVariant Image列中包含the existing product list, but that column is not included in the import CSV file, then the value in the product list remains the same.
  • If a non-required column is included in the import CSV file that relies on other column data not included in the file, then existing data is deleted or removed.
    • For example, if theVariant SKU列中包含the import CSV file, but not theOption1 ValueandOption1 Namecolumns, then the product variant option is deleted.

Description of the product CSV file

For information about which columns are required, and which columns require that values are entered, refer to theconsiderations for product CSV files.

Description of the columns in the product CSV file.
Column Description
Handle

Handles are unique names for each product. They can contain letters, dashes, and numbers, but no spaces, accents, or other characters, including periods. Handles are used in the URL for each product.

For example, the handle for a "Women's Snowboard" should bewomens-snowboard, and the product's URL would behttps://yourstore.myshopify.com/products/womens-snowboard.

Every line in the CSV file that starts with a different handle is treated as a new product. To add multiple images to a product, you must add multiple lines with the same handle.

Title

The title of your product. For example,Women's Snowboard.

Body (HTML)

The description of the product in HTML format.

Learn more about howoverwriting existing productsaffects the data in this column.

Vendor

The name of the vendor for your product. For example,John's Apparel.

Values must be at least two characters long.

Learn more about howoverwriting existing productsaffects the data in this column.

产品类别

A label that describes the type of product and is used to calculate a product's tax rate in the United States. This label must be taken from the predefined standardized list of product categories.

You can input the standardized product category in either of the following ways:

  • using the full path from theShopify Product Taxonomy, for exampleHome & Garden > Linens & Bedding > Bedding > Bed Sheets
  • using the numerical ID, for example371

Learn more about adding aproduct category

Learn more about howoverwriting existing productsaffects the data in this column.

Type

A label that describes the category of a product. This label doesn't need to conform to any predefined format.

Learn more about adding atype.

Learn more about howoverwriting existing productsaffects the data in this column.

Tags

一个以逗号分隔的标签用来标记product. Most spreadsheet applications automatically add quotes around the tags for you. If you use a plain text editor, then you need to manually add the quotes. For example,"tag1, tag2, tag3".

Learn more about howoverwriting existing productsaffects the data in this column.

Published

Indicates whether a product is published on your online store. Valid values are真正的when the product is published on your online store, orfalsewhen the product isn't available on your online store.

Option1 Name

If a product has an option, then enter its name. For example,Color.

If a product has only one option, then this value should beTitle.

Option1 Value

Caution:Changing data in this column deletes existing variant IDs values, and creates new variant IDs. Any change to variant ID values can break third-party dependencies on variant IDs.

If a product has an option, then enter its value. For example,Black.

If a product has only one option, then this value should beDefault Title.

Option2 Name

If a product has a second option, then enter its name. For example,Size.

Learn more about howoverwriting existing productsaffects the data in this column.

Option2 Value

Caution:Changing data in this column deletes existing variant IDs values, and creates new variant IDs. Any change to variant ID values can break third-party dependencies on variant IDs.

If a product has a second option, then enter its value. For example,Large.

Learn more about howoverwriting existing productsaffects the data in this column.

Option3 Name

If a product has a third option, then enter its name.

Learn more about howoverwriting existing productsaffects the data in this column.

Option3 Value

Caution:Changing data in this column deletes existing variant IDs values, and creates new variant IDs. Any change to variant ID values can break third-party dependencies on variant IDs.

If a product has a third option, then enter its value.

Learn more about howoverwriting existing productsaffects the data in this column.

Variant SKU

The SKU of the product or variant. This is used to track inventory with inventory tracking services.

这个字段不能留空如果你使用custom fulfillment service.

Learn more about howoverwriting existing productsaffects the data in this column.

Variant Grams

The weight of the product or variant in grams. Don't specify a unit of measurement or use decimals. For example, for a weight of 5.125 kg, enter5125.

Shopify always imports and exports the weight in grams, even if you specify a different unit. You must use accurate weights if you intend to offer carrier-calculated shipping or use a third-party fulfillment service.

Variant Inventory Tracker

Include your inventory tracking for this variant or product. Valid values includeshopify,shipwire,amazon_marketplace_web, or blank if inventory isn't tracked.

If the existing inventory tracking options are removed, then inventory is no longer tracked.

Learn more about howoverwriting existing productsaffects the data in this column.

Variant Inventory Qty

The number of items you have in stock of this product or variant. This column is only used for Shopify stores that have a single location.

Note:This column is only available for stores that have only one location. If your store manages inventory at multiple locations, then this column isn't included. If you want to import or export inventory quantities, then use theinventory CSV file.

Learn more about howoverwriting existing productsaffects the data in this column.

Variant Inventory Policy

How to handle orders when the inventory level for this product or variant has reached zero. Variants with adenyinventory policy can't be purchased after their inventory level reaches zero. Variants with acontinueinventory policy can be purchased after their inventory level reaches zero, allowing for negative inventory levels.

Variant Fulfillment Service

The product or variant fulfillment service used. The following are the valid values for this column:

  • manual
  • shipwire
  • webgistix
  • amazon_marketplace_web

If you use a custom fulfillment service, then you can add the name of the service in this column. For the custom name, use only lowercase letters. Spaces aren't allowed and you must replace them with a dash (-). Periods and other special characters are removed. For example, if "Joan's Fulfillment" is your fulfillment service's name, then enterjoans-fulfillmentin the CSV file.

You must have acustom fulfillment serviceset up in your Shopify admin before you can add the name of the service in this column.

Variant Price

The price of the product or variant. Only include the price and don't include any currency symbols. For example,9.99.

Variant Compare At Price

The "Compare-at Price" of the product or variant. Only include the price and don't include any currency symbols. For example,9.99.

Learn more about howoverwriting existing productsaffects the data in this column.

Variant Requires Shipping

The option to require shipping. Valid values are真正的orfalse.

Variant Taxable

Apply taxes to this variant. Valid values are真正的orfalse.

Variant Barcode

The barcode, ISBN, or UPC of the product.

Learn more about howoverwriting existing productsaffects the data in this column.

Image Src

Enter the URL for the product image. Shopify downloads the images during the import and re-uploads them into your store. These images aren't variant-specific. Thevariant image columnis where you specify variant images.

You can't change the image file name after that image has been uploaded to your store. Don't upload images that have_thumb,_small, or_mediumsuffixes in their names.

Learn more about howoverwriting existing productsaffects the data in this column.

Image Position

Enter the number that represents the order in which you want the image to display on the product's page. The images display in order from smallest to largest starting from an image position value of1. For example, if you want the image to display first for that product, then enter1.

Learn more about howoverwriting existing productsaffects the data in this column.

Image Alt Text

Alt (alternate) text describes an image and is an important part of a product description. If an image can't load for any reason, then alt text displays instead. It's also used by assistive technology to describe an image to a customer who's visually impaired. Including alt text will boost your website's SEO. Keep your alt text brief and descriptive. The maximum length is 512 characters, but the optimal length is 125 characters or fewer.

Learn more about howoverwriting existing productsaffects the data in this column.

Gift Card

Indicates whether the product is a gift card. Valid values are真正的orfalse. The addition of this column also allows you to edit other gift card details, such as theBodyorTagscolumns, and then import these changes. A gift card can only be created and activated in the Shopify admin. You can't create a gift card through a product CSV file import.

Learn more about howoverwriting existing productsaffects the data in this column.

SEO Title

The SEO Title is found on a product's details page under theSearch engine listing previewheader in thePage titlefield. The SEO Title is alphanumeric and can include up to 70 characters. If you leave this column blank when you import a product, then the value in theTitlecolumn is entered into thePage titlefield on the product's details page.

Learn more about howoverwriting existing productsaffects the data in this column.

SEO Description

The SEO description is also found on a product's details page under theSearch engine listing previewheader in theDescription. The SEO description is alphanumeric and can include up to 320 characters. If you leave this column blank when you import a product, then the value in theBody (HTML)column is entered into theDescriptionfield on the product's details page.

Learn more about howoverwriting existing productsaffects the data in this column.

Google Shopping / Google Product Category

If you currently use a Google product category, then you can use it as your Shopify product category. You can use the product category, the Google Product Category, or both. Provide the most specific category possible for each item.

The Google Product Category (GPC) (google_product_category) uses Google's product taxonomy.

You can input the Google product category in either of the following ways:

  • using the full taxonomy path, for exampleApparel & Accessories > Clothing > Shirts & Tops
  • using the numerical ID, for example212

Learn more about howoverwriting existing productsaffects the data in this column.

Google Shopping / [Metafields]

The column headers will vary based on the Google Shopping metafield the included value represents, and will all be preceded byGoogle Shopping /. The metafields included in the product CSV column headers are:

  • Gender
  • Age Group
  • MPN
  • Condition
  • Custom Product
  • Custom Label 0
  • Custom Label 1
  • Custom Label 2
  • Custom Label 3
  • Custom Label 4
  • The Google Shopping columns might be used by an app to synchronize products to the Google Merchant Center. However, the Google & YouTube channel doesn't use these Metafields. You can ignore values in the metafields columns that include "Google Shopping" in their names unless an app tells you to use them.

    Learn more about howoverwriting existing productsaffects the data in these columns.

    Variant Image

    图像的URL的变体。如果你添加一个网址,then it must be a functioning image URL.

    Learn more about howoverwriting existing productsaffects the data in this column.

    Variant Weight Unit

    Valid values areg,kg,lb, andoz.

    Variant Tax Code

    可用于:Shopify Plus plan

    The Avalara code to apply taxes to this product. This field only applies when you import to or export from a store that uses the Shopify Plus plan's integration withAvalara AvaTax.

    When you create a CSV file by exporting products from a store that uses Avalara, theVariant Tax Codecolumn is filled. If you import this CSV file into a store that doesn't have Avalara set up, then your import fails.

    Learn more about howoverwriting existing productsaffects the data in this column.

    Cost per item

    How much it costs you for the product or variant. Only include the cost. Don't include any currency symbols. For example,9.99.

    Learn more about howoverwriting existing productsaffects the data in this column.

    Included / [Primary]

    Whether the product is for sale in the primary market. Valid values are真正的orfalse.

    This column heading name varies depending on the country or region determined to be your primary market inShopify Markets. If you change the default primary market, then your column header displays the new market name.

    Learn more aboutCSV columns for Shopify Markets.

    Included / International

    Whether the product is for sale in the market of the same name. Valid values are真正的orfalse.

    Learn more aboutCSV columns for Shopify Markets.

    Price / International

    A fixed price for that product in the market of the same name and in that market’s currency.

    Learn more aboutCSV columns for Shopify Markets.

    Compare At Price / International

    Sets a fixed compare at price for that product in the market of the same name and in that market’s currency. A fixed price for a product in a market is required to use a fixed compare at price.

    Learn more aboutCSV columns for Shopify Markets.

    Status

    Indicates whether a product is available to your customers. Valid values are:

    • active: the product is active and ready to be sold
    • draft: the product is a draft and needs to be completed
    • archived: the product is archived and no longer available to sell

    集合column exception

    To organize your products into collections during the CSV file upload, you can add a new column anywhere in your CSV file with the header name集合.

    When you export a CSV file, the集合column isn't included.

    Description of the集合column in the product CSV import file.
    Column Description
    集合

    Enter the name of the collection that you want to add this product to.

    • If it's an existing automatic collection, then the product needs to meet the conditions for the collection.
    • If the collection doesn't already exist, then a manual collection is created.

    You can add a product to only one collection.

    This value can be blank.

    Learn more about howoverwriting existing productsaffects the data in this column.

    Create your product CSV file

    For each product, you need to decide if it's a simple product or one with variants:

    • Simple product: A simple product doesn't include variants. If you upload a product that doesn't have variants, then enter all the fields for the product in the first row along with the URL for the first image. In the following rows, only enter the handle and the URL for each additional image.
    • Product with variants: If you upload a product that has variants, then enter all the fields for the product in the first row along with the URL for the first image. In the following rows, enter the handle. Then skip theTitle,Body (HTML),Vendor, andTagscolumns. Fill out the rest of the variants' details and each image URL.

    After you've added all your products and images, save your CSV file inUTF-8format using LF-style linefeeds. If you're not familiar with encodings, then review your spreadsheet or text editor program's documentation.

    To view an example CSV file, download thissample product CSV file, and then open it inGoogle Sheetsor another spreadsheet program.

    Prepare your images

    A CSV file can only contain text, therefore, you need to make sure that all product images are on an existing website. Those image URLs areonlyused during the CSV file importing process. You can delete the URLs after your import is complete.

    Depending on the location of your image file, take one of following actions:

    • If the files are only on your computer, then you must upload them to your Shopify store or to another image hosting service, and then obtain their URL.
    • If you're switching to Shopify from another platform, then you can copy the current image URLs and use them in the CSV file.
    • If the product CSV file was produced byexportingyour products from Shopify, then you don't need to do anything because your images are already on your website.

    When you have URLs for each product image, you can start building your CSV file.

    Adding multiple product images in a CSV file

    You can add more product images to your CSV file by uploading more images to your Shopify admin. If you're building your Shopify store with a CSV file, then the process is a little different. Review the following considerations:

    • You need to be able to edit a CSV file. Shopify recommends usingGoogle Sheetsto view a formatted version of your CSV files.
    • You can add up to 250 images to a product.
    • Your product images must be uploaded to a publicly accessible URL. That is, they should be behind anhttps://protocol with no password protection. To do this, you canupload imagesto theFilespage of the Shopify admin. The URLs generate automatically. After you clickUpload files, you can select up to a couple hundred images to upload in bulk.

    Add multiple product images to your CSV file

    1. 插入新行。您必须使用每个ima只有一行ge.
    2. Copy and paste the handle.
    3. Copy and paste the image URLs.

    Insert a new row

    1. Open your CSV file in your spreadsheet program, such asGoogle Sheets.
    2. Locate the products that you want to add images to.
    3. In the next row, click and drag the row numbers to select multiple rows. Select the same number of rows as the number of additional images you add.
      In a product CSV Google spreadsheet, the third and fourth row are highlighted.
    4. With those rows highlighted, right-click anywhere in the highlighted area, and then selectInsert X rows above.
      In a product CSV Google spreadsheet, the Insert 2 above option is selected.
      ### Copy and Paste the Handle value

    Copy and paste the Handle value of the required product into column A for your new rows.

    In a product CSV Google spreadsheet, the text black-shirt is entered under the handle column in the third and fourth rows.

    Copy and Paste the image URLs

    1. On theFilespage, upload your images to Shopify.
    2. Click theCopy linkicon for one image URL at a time.
      In the Shopify admin Files page, the link button is highlighted in the row of a black t-shirt image.
    3. In the CSV file in your spreadsheet application, scroll sideways to the last columns of the CSV file.
    4. In theImage Srccolumn, paste the image URL into each line.
      In a product CSV Google spreadsheet, the black t-shirt product image URL is entered into a row in the Image Src column.
    5. Repeat steps 2 to 4 for all the images for this product
    6. Optional: To improve your SEO, enter values into all theImage Alt Textfields. Learn more aboutImage alt text.
    7. Save the CSV file andimport it to Shopify.
    Ready to start selling with Shopify?Try it free