What is a CSV import?
A CSV (comma-separated values) file is the fastest way to add many products to your Storeino store at once — with all their details: price, quantity, images, descriptions.
You can generate this file from Excel, Google Sheets, or another platform, then upload it once. Storeino auto-detects the columns and maps them to product fields.
Columns in the CSV file
The table below lists every available column, whether it's required, and the expected value. Empty optional cells are filled with sensible defaults automatically.
| Column | Status | Description & example |
|---|---|---|
name | Required | Product name as shown in the storefront. Required — must not be empty. Example Sneakers Pro Edition |
salePrice | Required | Sale price. Number only — don't include any currency symbol. Example 9.99 |
comparePrice | Optional | Pre-discount price, shown crossed out next to the current price. Number only. Example 19.99 |
quantity | Required | Stock quantity. Defaults to 0 if left blank. Example 120 |
images | Optional | Image URLs. Separate multiple images with a | character. Example https://example.com/a.png|https://example.com/b.jpg |
status | Optional | Whether the product is published or draft.
|
body | Optional | Full product description. Accepts HTML for formatting. |
description | Optional | Short summary (up to 200 chars) shown in cards and search results. |
tags | Optional | Comma-separated tags to organize products in your admin. Example tag1, tag2, tag3 |
type | Optional | Product type. Use "variable" for products with variants (color, size…); leave blank for a simple product.
|
options | Optional | Defines the variant options and their values. Format: name: value1, value2; name2: valueA, valueB. Example color: red, blue; size: S, M, L |
variant.weight | Optional | Weight (in kg) for this specific variant row, used for shipping. Example 0.3 |
Variable products & variants
To import a product that has variants (sizes, colors…), set its "type" column to "variable" and add one row per variant. Rows that share the same product name are grouped together automatically.
Write each variant's name as "Product | Option1 | Option2" (for example "T-Shirt | Red | M"), and add an "options" column listing every option and its values in the format "color: red, blue; size: S, M, L". Storeino builds the option matrix, then fills each variant's own price, stock and SKU from its row. Keep the option values in the same order on every row (for example always color then size) so each value maps to the right option.
name,options,salePrice,quantity
T-Shirt | Red | S,"color: red,blue; size: S,M",99,10
T-Shirt | Red | M,,99,5
T-Shirt | Blue | S,,89,8
T-Shirt | Blue | M,,89,3salePrice, comparePrice, quantity and the variant.* columns are read per row, so each variant keeps its own price and stock. If you omit the "options" column, a single option is created automatically from the variant names. You only need to fill the "options" column on the first row of each product — it can stay empty on the following variant rows.
Tips before importing
- Start with a small batch
Try 5–10 products first to confirm columns map correctly before pushing thousands of rows.
- Use UTF-8 encoding
Save your file as UTF-8 to avoid garbled Arabic characters or special symbols.
- Check image URLs
URLs must be public and direct. Private Google Drive links won't load.
- Keep a backup
Export your existing products to CSV before any large import so you can roll back if something goes wrong.
Got another question?
Our support team helps with large uploads and resolves any error you hit.
