Product descriptions are the part of a catalog that is hardest to collect by hand. They are long, full of formatting, and spread over hundreds of product pages. Whether you are auditing your own copy, briefing a writer, checking a supplier’s product claims, or moving a catalog, you want them in one column next to the product they belong to.

If it is your own store

Shopify’s own product export, under Products → Export in the admin, includes descriptions in the Body (HTML) column. That is the right tool if you have admin access. It gives you the raw HTML, which is fine for re-importing but hard to read in a spreadsheet, since every paragraph and list comes wrapped in tags.

For any public store, with CatalogCSV

CatalogCSV reads a store’s public product list from your browser, so it works on stores you can’t log into: a supplier, a competitor, a client who hasn’t sent you admin access yet. Descriptions are an option on the Variant rows format, and there are two of them in the popup:

  • Include full description HTML adds a body_html column with the description exactly as the store stores it, tags and all.
  • Include description as plain text adds a body_text column with the tags stripped out. Paragraphs and line breaks become line breaks, list items get a “• ” bullet, and scripts, styles and HTML comments are removed. This is the one you want for reading, counting words or pasting into a brief.

Tick one or both. The description columns are added at the end, after the standard 26 columns, so handle, title, vendor, product_type, sku, price and product_url sit in the same row.

Both options are on the free plan. Every export includes the first 100 products for free; a Pro license removes the limit.

One description per product, not per variant

A description belongs to the product, but Variant rows has one row per variant. So a T-shirt in four sizes gets the same description on four rows. To get a list with one description per product:

  1. Select all the data.
  2. In Excel, use Data → Remove Duplicates and tick only handle. In Google Sheets, use Data → Data cleanup → Remove duplicates with the same column.
  3. Delete the columns you don’t need, such as variant options and image links.

The Shopify import CSV format also carries descriptions, in its Body (HTML) column, filled in on the first row of each product only. Use that one when the goal is to import the catalog into another store rather than read it. Every product in that file is set to draft and unpublished. See copying a catalog into a new store as drafts.

Things that don’t come with the description

  • Text that isn’t in the description field. Many themes show size guides, shipping notes, ingredient tabs or reviews on the product page, pulled from other fields or apps. If it isn’t part of the product’s own description, it isn’t in the column.
  • Images inside the description. In body_html they stay as <img> tags with their links. In body_text they are removed along with the other tags. The product’s own images are in image_src and images_all.
  • Very long descriptions in Excel. An Excel cell holds at most 32,767 characters. Almost no description gets near that, but a description with large blocks of embedded HTML can; the plain text column is much shorter.

Opening the file cleanly

Descriptions are where spreadsheets usually break: curly quotes, accents, emoji and line breaks inside a cell. The Variant rows file is written with a UTF-8 BOM so accents and emoji show correctly in Excel, line breaks stay inside their cell, and no cell can run as a hidden formula. If your Excel expects semicolons, switch the delimiter to Semicolon (European Excel) in the popup. More in fixing wrong characters in Excel.

A word on using someone else’s copy

Exporting a competitor’s descriptions is useful for research: seeing how long they are, which claims they make, which keywords they lean on. Publishing them as your own is a different matter. Product copy is someone’s writing, and copying it word for word into your store can get you into trouble with the original store and with search engines that see duplicate text. Use the export as a reference, then write your own.