Weights are easy to forget until you need them all at once: setting up shipping rates, moving a catalog to a platform that requires a weight on every product, quoting fulfilment costs, or checking that nothing in your own store ships at zero grams. Clicking through product pages doesn’t help, because most stores never show the weight to shoppers. It is in the product data, though, on every variant.
Your own store: the admin export
If you have admin access, Shopify’s own product export includes a Variant Grams column, with the weight converted to grams whatever unit you entered it in. That covers most needs for your own catalog.
Any public store: CatalogCSV
For a store you can’t log into, such as a supplier whose catalog you are about to import or a client’s store you are quoting for, CatalogCSV reads the public product list from your browser and writes the weight of every variant into the CSV.
- Variant rows has a
gramscolumn, one row per variant, next tosku,price,option1–option3andrequires_shipping. - Shopify import CSV has
Variant GramsandVariant Weight Unit(alwaysg), in the layout Shopify’s importer reads. Every product in that file is set to draft and unpublished.
Weights come out in grams in both formats. On stores that hide their product list, CatalogCSV reads the product pages instead, and when a page gives the weight in kilograms, pounds or ounces, it is converted to grams so the column stays in one unit.
Convert to kilograms, pounds or ounces
In the Variant rows file, grams is column V. Add a column next to it with the unit you need:
- Kilograms:
=V2/1000 - Pounds:
=V2/453.592 - Ounces:
=V2/28.3495
Round as your carrier wants it, for example =ROUNDUP(V2/453.592, 1) for pounds to one decimal. The column letter holds for the standard 26 columns; the optional description columns are added at the end and don’t move it.
Check a catalog before you rely on it
The weight in the file is whatever the merchant entered, and plenty of stores never enter one. Before you use the weights for anything:
- Filter
gramsfor 0 and blanks. Those variants have no weight set. Shipping rates based on weight treat them as weightless. - Check
requires_shipping. Afalsethere marks gift cards, digital goods and services, where a zero weight is correct. - Sort by
grams, largest first. A 500 kg T-shirt is a typo, usually a weight entered in grams where the store expected kilograms, or the other way round. - Compare sizes of the same product. If every size of a coat has the same weight, the store probably copied one value to all variants. Fine for shipping rates, not for anything precise.
What isn’t in the file
- Dimensions. The public product data has no length, width or height, so there is no dimensions column. If your carrier charges by volume, you’ll need those from the supplier.
- Packaged weight. The weight is what the merchant entered for the product. It may or may not include packaging.
- Unit as entered. The file always uses grams; it doesn’t record whether the store originally entered pounds or kilograms.
- Stock levels and sales. The public list says whether each variant is in stock (
available), not how many units, and CatalogCSV has no sales data.
Stores running a bot check can’t be read, and a password-protected store needs its password entered on the page first.
Weights for a whole catalog
Every export includes the first 100 products for free, with every column, in every format. For a supplier with thousands of SKUs, a Pro license ($9 a month or $79 a year) removes the limit. CatalogCSV pages through the catalog 250 products at a time and builds the file on your machine. There is no account, and nothing is installed on the store.
Moving the weights into another platform? Check which unit its importer expects first; many want kilograms or pounds rather than grams. The field mapping guide covers the rest of the columns.