Bulk upload products using CSV
In this article:
- Introduction
- Download import template
- Notes to prevent import error
- Insert product details
- Import products
1. Introduction
In this article, you will find out how to mass upload your products using Excel or CSV file. This function is especially useful for you if you have a wide range of products. It could tremendously save your time and absolutely accurate. Let's see how to do it:
It is recommended that you get ready the following basic product details before start:
- Product name
- Product description
- Product images
- Product weight and dimension (if shipping rate based on weight)
- Product selling price
- Product stock quantity (optional)
2. Download import template
2.1 Go to EasyStore Admin > Products > click on the 3-dot menu > Import products.

2.2 Click CSV template file to download the products import template.

3. Notes to prevent import error
⚠️ Important:
- Do not add or delete columns.
- Handle must be filled for all rows.
- All variants under the same product must have the same Handle.
- For rows with option name, must fill in the corresponding option value.
- No duplicated variants.
📌 About image link:
- You can upload the images to external host like imgur.com first > copy it’s direct link > insert the link into the spreadsheet.
- Image link must be web address in supported format:
.jpg,.jpegor.png. - Example: https://i.imgur.com/mzMexWm.png
.webpis supported by EasyStore but not by marketplaces like TikTok, Shopee and Lazada.- Local file path in your device like C:\Users\astrid\Desktop\image.jpg can't be used.
4. Insert product details
4.1 Open the CSV file:
- Popular apps used to edit spreadsheet: MS Excel or WPS
- Or, upload the file to Google drive > open and edit using Google Sheets (web version)

4.2 Insert your product details into the file by referring to table below.
Field | Description | Specific format, if any | Required / Optional |
|---|---|---|---|
Handle | Last part of product link (example: “blue-shirt” in https://easystore.co/products/blue-shirt), must be different for each product. | Lowercase letters, numbers or hyphens only (no spaces). | Leave blank to auto generate from product name (auto convert Title to Handle format). |
Title | Product name |
| Required |
Description | Product meta description to show in Google search results. | Plain text only (no line breaks), up to 250 characters. | Optional |
Body (HTML) | Product description | HTML codes for rich text (line breaks, font styles, bullets, images etc.). If not, plain text only. | Optional |
Published | Product publish date and time | Yes / No / YYYY-MM-DD HH:MM:SS for schedule publish | Unpublished if left blank |
Taxable | Is this a taxable product? | Yes / No | Yes if left blank |
Free Shipping | Is this product shipped free? | Yes / No | No if left blank |
Track Inventory | Set stock quantity for this product? | Yes / No | No if left blank |
Image1 | Link to 1st product image | Refer note 3 above about image link | Optional |
Image2 | Link to 2nd product image | Refer note 3 above about image link | Optional |
Image3 | Link to 3rd product image | Refer note 3 above about image link | Optional |
Collection1 | Product category 1 |
| Optional |
Collection2 | Product category 2 |
| Optional |
Collection3 | Product category 3 |
| Optional |
Tags | Filter products by tags in admin panel (not shown on website) |
| Optional |
Brands | Brand of this product (not shown on website) |
| Optional |
Vendor | Supplier of this product (not shown on website) |
| Optional |
Seller Note | Internal remark for this product |
| Optional |
Option1 Name | 1st variant name (example: Size) |
| Optional |
Option1 Value | 1st variant choices (example: S, M, L) |
| Optional |
Option2 Name | 2nd variant name (example: Color) |
| Optional |
Option2 Value | 2nd variant choices (example: Blue, Red) |
| Optional |
Option3 Name | 3rd variant name (example: Material) |
| Optional |
Option3 Value | 3rd variant choices (example: Cotton, Silk) |
| Optional |
SKU | Item code |
| Optional |
Barcode | Item barcode |
| Optional |
Weight | Item weight | Number, up to 2 decimals. | 0 if left blank |
Weight Unit | Item weight unit | g, kg, oz, or lb only | g if left blank |
Length | Item length in cm | Number, up to 2 decimals. | 0 if left blank |
Width | Item width in cm | Number, up to 2 decimals. | 0 if left blank |
Height | Item height in cm | Number, up to 2 decimals. | 0 if left blank |
Price | Item selling price | Number, up to decimals of default currency. | 0 if left blank |
Cost Price | Item cost price | Number, up to decimals of default currency. | 0 if left blank |
Inventory | Stock quantity | Number, no decimal. | 0 if left blank |
Inventory Policy | “Continue to sell after out of stock”? | deny / continue | deny if left blanks |
Compare At Price | Item “crossed price” on website | Number, up to decimals of default currency. | 0 if left blank |
Enabled | Is this variant available? | Yes / No | Yes if left blank |
5. Import products
5.1 Once done, save the file in .XLSX or .CSV format.

5.2 Go back to EasyStore admin panel > Products > click on the 3-dot menu > Choose File and select the file.

5.3 The system fields should have been mapped over to your file columns automatically. Now click Import.

5.4 Products are created successfully.

Updated on: 31/01/2026
Thank you!
