To import jewelry into Shopify with a CSV, go to Products, click Import, add your file, and confirm the upload. The harder part is the file itself. Jewelry has metal choices, ring sizes, stone details and many photos per piece, and all of it has to fit Shopify’s one-row-per-variant format. This guide covers the import steps, how to lay out a jewelry catalog, and how to fix the errors that stop imports.
TL;DR
- Import from Products > Import in your Shopify admin. The file must be UTF-8 and no larger than 15 MB, and you should back up your products first.
- Only Title is required for a new product, but jewelry needs a stable URL handle on every row so ring sizes and metals group into one product.
- Use one row per variant, with up to three options per product (for example Metal, Ring Size, Stone).
- Image URLs must be public HTTPS links, because a CSV holds text only.
- Most failed imports come from renamed headers, broken quotes, bad image links or duplicate option values.
Table of Contents
- How to import a jewelry CSV file into Shopify
- What to prepare before you import
- Shopify’s product CSV format for jewelry
- Laying out rings, sizes and metals as variants
- Images, prices and inventory
- Fixing a jewelry CSV that will not import
- Our perspective: treat the catalog as a living thing
- Beyond CSV: keeping jewelry data current
- Add vendor data without the spreadsheets
- FAQ
- Sources
How to import a jewelry CSV file into Shopify
Shopify’s own instructions are short. According to the Shopify Help Center, you do this:
- From your Shopify admin, go to Products.
- Click Import.
- Click Add file and select your CSV.
- Decide whether to deselect “Publish new products to all sales channels” or select “Overwrite products with matching handles.”
- Click Upload and continue, review the preview, then click Import products.
Shopify emails you a confirmation when the import finishes. Two warnings from the same page matter for jewelers. First, back up your product data before you import. Second, if a spreadsheet editor such as Excel or Numbers has sorted the file, products can lose their image links.
The overwrite option deserves a pause. If a handle in your file matches an existing product, overwriting replaces that product’s data. That is useful for updating a catalog and risky if you only meant to add new pieces. For a first import, leave it off and test with a handful of rows.
Do a small test import first
Before you load 3,000 pieces, import five to ten products that cover your real mix: a ring with sizes and metals, a pair of earrings with a single variant, a pendant with chain lengths, and a piece with several photos. If those land correctly, the larger file will too. If something looks off, you fix a short file instead of cleaning up a full catalog.
If you want a ready-made reference, Shopify Partners publishes a sample jewelry CSV on GitHub with the standard columns filled in for jewelry products.
What to prepare before you import
A clean import starts with clean data. Gather this for every piece before you open a spreadsheet:
- Product title and a description shoppers can actually use
- Metal type and color, karat, finish and plating
- Center stone and accent stone details, including shape, carat weight and quality
- Ring sizes, chain lengths or bracelet sizes
- Dimensions and weight
- SKU, barcode and price for every variant
- Inventory quantity and where it is held
- Photos hosted at public web addresses
- Care, resizing, shipping and return details for the product page
That list is where jewelry differs from most catalogs. A hoodie has size and color. A custom-style ring may have metal, finish, size, center shape and a bill of materials. Shopify’s format has a fixed set of columns, so you decide in advance which details become options, which go in the description, and which go in tags or metafields.
Shopify’s product CSV format for jewelry
Shopify’s CSV documentation lists the fields a product file can carry: URL handle, title, description, vendor, product category, type, tags, publishing status, options, SKU, barcode, price, inventory, weight, shipping and fulfillment, images, SEO fields, Google Shopping fields and product metafields.
For a new product, Title is the only required column. If you are adding variants, you also need the URL handle. In practice, always include the handle, because it is how Shopify knows which rows belong together.
Two formatting rules cause more trouble than any others:
- Save the file in UTF-8 with LF-style linefeeds.
- Keep the header row exactly as Shopify specifies it, separated by commas, in the first line of the file.
A practical way to get the headers right is to export one or two real products from your store, delete the data rows and keep the header row as your template.
Which columns jewelers use most
| Column group | Typical jewelry use |
|---|---|
| Handle, Title, Body (HTML) | Product name, story, materials and care copy |
| Vendor, Type, Tags | Designer or brand, ring or earring, filters such as metal or stone |
| Option1–3 Name and Value | Metal, ring size, chain length |
| Variant SKU, Barcode | One unique identifier per sellable variant |
| Variant Price, Compare At Price | Selling price and any reference price |
| Variant Inventory Qty, Policy | Stock level and whether out-of-stock items can be bought |
| Variant Grams | Weight for shipping |
| Image Src, Image Position, Image Alt Text | Gallery photos in order, with alt text |
| SEO Title, SEO Description | Search snippet copy |
The Shopify Partners jewelry sample uses this same structure, including the option, SKU, inventory, price, image and SEO columns.
Laying out rings, sizes and metals as variants
This is where most jewelry imports go wrong. Shopify uses one row per variant. According to the Shopify Help Center, the first row carries the product fields. On later rows you repeat the URL handle, leave Title, Description, Vendor and Tags empty, and fill in only the variant details. A product can have up to three options.

A worked example
Say you sell a solitaire ring in two metals and three sizes. That is 2 metals × 3 sizes = six variants, so six rows, all sharing one handle. Here is how the key columns would look:
| Handle | Title | Option1 Name | Option1 Value | Option2 Name | Option2 Value | Variant SKU | Variant Price |
|---|---|---|---|---|---|---|---|
| solitaire-ring | Classic Solitaire Ring | Metal | 14K White Gold | Ring Size | 6 | SOL-14W-6 | 1200.00 |
| solitaire-ring | 14K White Gold | 7 | SOL-14W-7 | 1200.00 | |||
| solitaire-ring | 14K White Gold | 8 | SOL-14W-8 | 1200.00 | |||
| solitaire-ring | 14K Yellow Gold | 6 | SOL-14Y-6 | 1200.00 | |||
| solitaire-ring | 14K Yellow Gold | 7 | SOL-14Y-7 | 1200.00 | |||
| solitaire-ring | 14K Yellow Gold | 8 | SOL-14Y-8 | 1200.00 |
The prices and SKUs here are placeholders to show the pattern. Use your own.
A few habits keep this clean:
- Never change the handle between rows for the same product. A stray space or typo turns a variant into a separate product.
- Make every SKU unique. SKU is a variant field used to track inventory.
- Avoid duplicate option combinations. Two rows with the same metal and size will fail validation.
- Use “Default Title” as the option value for single-variant pieces such as a pair of studs with no size choice. Set the Option1 name to “Title” when you do.
When you hit the option limit
Three options sounds like plenty until you sell a ring with metal, size, center stone shape and finish. Decide which option shoppers truly pick, and move the rest into separate products or descriptive fields. Large option sets also multiply into very large variant counts, so read our guide on three checks before you hit Shopify’s variant limit before you build an enormous matrix.
Images, prices and inventory
Image URLs
Shopify’s documentation says a CSV can contain text only, so product images must already live at a web address. Use public HTTPS links in the image column. A path to a file on your computer will not work. The image URLs are only used during import, so they can be deleted afterward. Videos and 3D models are not supported in CSV imports. You upload those through Content > Files.
For multiple photos per piece, add extra rows with the same handle and a different Image Src, and use Image Position to control the order. Position 1 is the first image. Put your best front-facing shot there, since it becomes the thumbnail in collections.
If you want the right photo to appear when a shopper picks a metal color, that is a variant image task, not just an import task. We cover it in Shopify variant images for jewelry.

Prices and inventory
Each variant row carries its own price and quantity. Set the inventory policy deliberately. “Deny” stops shoppers from buying when stock reaches zero, and “continue” allows backorders. For ready-to-ship pieces, “deny” prevents overselling. For made-to-order pieces, you may want “continue” with a clear production timeline in the description.
For ongoing stock updates, you do not need to re-import the whole catalog. Shopify has a separate inventory CSV, and if you hold stock in more than one location, each location needs its own row. If your numbers change daily, weigh the options in API vs CSV for jewelers.
Fixing a jewelry CSV that will not import
Shopify documents its most common import errors on a troubleshooting page. Here are the ones jewelers see most, with the fix:
| Error message | Likely cause | Fix |
|---|---|---|
| Illegal quoting on line | Encoding problem or a missing or stray quotation mark | Save as UTF-8 and check descriptions with quotes, such as 3" chain lengths |
| Invalid CSV header: missing headers | Headers do not match the required first line, or there are extra spaces | Restore the exact header row |
| Validation failed: getaddrinfo | Image URL is wrong or not a public direct link | Correct the link so it starts with http:// or https:// and opens publicly |
| Validation failed: options are not unique | Duplicate option values, or the same handle used elsewhere in the file | Remove the duplicate variant or product |
| Validation failed: Value must be a valid product reference | A metafield points to a product that does not exist yet | Import the referenced product first |
Some other problems do not produce an error message:
- The file is too large. The limit is 15 MB. If the file is larger or the upload times out, split it into smaller files and upload them one by one.
- Broken characters. Jewelry copy is full of symbols such as carat marks, fractions and accented designer names. Shopify says special characters may not survive a trip through another spreadsheet program, and that it cannot recover damaged files. It recommends Google Sheets for editing CSVs, and you should confirm UTF-8 when you download.
- Missing images after an edit. Sorting in a spreadsheet editor can detach products from their image links. Sort a copy, never your only file.
- Extra image rows rejected. If extra image rows trigger a “variant Default Title already exists” message, check that those rows carry the same handle and that the option fields are consistent with the first row.
Our perspective: treat the catalog as a living thing
A CSV import is a snapshot. The day after you upload it, a vendor changes a price, a metal option sells out, or a new collection arrives. If your catalog depends on someone re-editing a spreadsheet, it starts to age the moment it goes live.
We built JewelCloud around that problem. Jewelry data is unusually complicated: metals, karats, stone grades, sizes, certifications and bills of materials all have to stay accurate and consistent. Generic product feeds were not designed for it. Our product data is structured and standardized for jewelry, so the same piece describes itself the same way whether it comes from a designer, a manufacturer or a diamond dealer.
That matters for you as a retailer because you can expand your online assortment without carrying every piece in a case. Use CSV when you are loading a defined set of your own products. When you want to grow beyond what you hold, or keep vendor data fresh without constant file edits, a structured feed that connects straight to your site is the better foundation, and that is what we offer.
Anthony
Beyond CSV: keeping jewelry data current
CSV is the right tool for a one-time load, a migration or a small catalog. It gets heavy when you add more vendors, because every vendor formats data differently, and every refresh means another file, another round of header checks and another chance for a duplicate handle.
Two related topics are worth reading as your catalog grows. Our guide on Shopify product duplication for jewelers explains what copies and what you must fix when you duplicate pieces or run bulk CSV workflows. Our guide on Shopify collection rules for jewelers shows how to keep collections accurate when variants differ in metal or size. If you run a POS alongside Shopify, start with a small group of SKUs, as described in our pilot guide for GS1 and jewelry POS integration.
A repeatable workflow
- Export one or two existing products and keep only the header row as your template.
- Fill in one product with all its variants and photos.
- Import that file alone and inspect the product page, the variants and the gallery order.
- Scale up to your full list in files below 15 MB.
- Save a clean master copy in UTF-8 and keep a backup of your products before each import.
- Document your naming rules for handles, SKUs and option values so every future file matches.
Add vendor data without the spreadsheets
If you would rather not build and repair files by hand, we can help. The JewelCloud Product Feed gives retailers structured, standardized jewelry product data from participating brands and suppliers, so you can launch new collections faster and show richer product pages without holding the inventory. Our Shopify jewelry app guide explains how wholesale product data fits into a Shopify store.

If you are a designer, manufacturer or diamond dealer who wants retailers to find your line, start at JewelCloud for vendors. If you want a storefront built for jewelry, see our web design for jewelers.
FAQ
How do I import a product CSV file in Shopify?
Go to Products in your Shopify admin, click Import, add your CSV file and click Upload and continue. Review the preview and click Import products. Shopify emails you when it finishes. Back up your products first, and make sure the file is UTF-8 and under 15 MB.
Why is my CSV not importing correctly?
The usual causes are a changed header row, broken quotation marks, an encoding other than UTF-8, image links that are not public, and duplicate option values under one handle. Match the error message to the table above. Starting from a header row exported from your own store prevents most header problems.
Can I sell jewelry on Shopify?
Yes. You can add pieces one at a time or import a whole catalog by CSV. Prepare titles, descriptions, materials, option values, SKUs, prices and public image links for each product before you import.
How many rows do I need for a ring with several sizes?
One row per variant, all sharing the same handle. A ring in three sizes and two metals needs six rows. Put product fields on the first row only, and repeat the handle on the others.
Do I have to host my product images first?
Yes. A CSV holds text only, so each image needs a public HTTPS address. You can host photos in Shopify Files or on another web host. The links are only used during import.
Sources
- Shopify Help Center: Importing products with a CSV file
- Shopify Help Center: Using CSV files to import and export products
- Shopify Help Center: Solutions to common product CSV import issues
- Shopify Help Center: Opening and editing a CSV file
- Shopify Partners sample jewelry CSV on GitHub

