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 grams column, one row per variant, next to sku, price, option1–option3 and requires_shipping.
  • Shopify import CSV has Variant Grams and Variant Weight Unit (always g), 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:

  1. Filter grams for 0 and blanks. Those variants have no weight set. Shipping rates based on weight treat them as weightless.
  2. Check requires_shipping. A false there marks gift cards, digital goods and services, where a zero weight is correct.
  3. 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.
  4. 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.