PostPrep
← Blog
2026-08-30

How to Use Canva Bulk Create with Your Wix Store Product Images

Draft — Post #14 · Target keyword: canva bulk create wix · Meta: Wix Stores exports products to CSV, but Canva Bulk Create won't read the image URLs. Here's the full workflow from Wix product export t

Pete B.
Pete B.
Founder, Postprep

Draft — Post #14 · Target keyword: canva bulk create wix · Meta: Wix Stores exports products to CSV, but Canva Bulk Create won't read the image URLs. Here's the full workflow from Wix product export to bulk graphics.

You run a Wix store. You have 80 products live, each with a clean photo, a title, and a price. Now you want a matching social graphic for every one: a "new arrival" post, a sale card, a product tile for your Instagram grid.

You already know Canva Bulk Create is built for exactly this. One template, one spreadsheet, 80 finished designs. So you export your product list from Wix, drop the CSV into Canva, and watch it merge the titles and prices fine while every single product image comes back blank.

This post walks through the full Canva Bulk Create Wix workflow: why the image column fails, the manual fixes that waste your afternoon, and the one upstream step that makes the whole thing run.

Why Canva Bulk Create Stalls for Wix Stores

Wix Stores lets you export your entire catalog to a CSV. The export is unusual in one way worth knowing up front. Each product spans two row types. Column A holds a "handle" that ties the rows together, and another column flags whether a row describes the product or its media. Product images live on the media rows as web links, and when a product has several photos those links are packed into one cell separated by semicolons.

So your product photos are already URLs. That feels like it should be enough. It is not.

Canva Bulk Create only accepts images that are physically embedded inside the XLSX file as binary data, in a format called DrawingML. A URL is just text to Canva. It either prints the link as a literal string inside your design or leaves the image frame empty. We covered the technical reason in full in Why Canva Bulk Create Ignores Image URLs.

For a Wix store this is the whole problem. Your catalog export is rich with image links, and Canva treats every one of them as plain text. A 60-product sheet produces 60 designs with the words and prices in place and 60 empty photo slots.

One more Wix wrinkle: some store owners report that the standard product export does not always populate image URLs in the exported file at all, depending on how the catalog was built. If your export comes back without image links, you may need to pull them separately. More on that below.

The Manual Workaround Most Wix Sellers Try First

The first instinct is to embed the images by hand. Open the CSV in Excel, click into each product's image cell, use Insert > Picture > Place in Cell, point to the photo on your laptop, repeat. For 10 products that is annoying. For a real catalog it is your whole afternoon, and you have to download and rename every photo first so the rows line up.

The second instinct is the =IMAGE() formula in Google Sheets. It looks like it embeds the photo right there in the cell. It does not. =IMAGE() is a live cell reference, not embedded image data, so when Canva parses the file it sees nothing in that cell. We broke this down in Why =IMAGE() Doesn't Work for Canva Bulk Create.

Both roads end in the same place: Canva needs real embedded images inside the XLSX, and neither the Wix export nor a spreadsheet formula gives you that.

What You Need Before You Start

Two things.

A Canva template per graphic type. Most Wix sellers reuse a small set of designs. A product tile with photo, name, and price. A "new arrival" announcement. A sale or discount card. A lookbook or collection grid. Each template needs Bulk Create placeholders for the text fields like {{product_name}} and {{price}}, plus an image element where the product photo will drop in.

A clean product spreadsheet. One row per output design, one column per field, and image URLs in their own column. The raw Wix export is not in this shape yet because of the two-row product-plus-media structure, so you will reshape it first. That is one step, covered below. The same one-row-per-output rule applies to every platform we have written about, including Shopify stores and WooCommerce stores.

Step 1: Get Your Wix Product Image URLs Into One Column

Export your catalog from your Wix dashboard under Store Products, using the export option in the products list. Open the file and you will see the handle column, the product-or-media flag, and the rest of your fields.

Your job is to flatten this into one row per product with a single image URL column. The cleanest approach:

  1. Keep the main product rows with name, price, and any text you want on the graphic.
  2. From the media rows, take the first image link for each product. That is your main photo. If the cell holds several links separated by semicolons, keep the first one.
  3. Match each image link back to its product using the shared handle in Column A.
  4. Drop that single link into a new column on the product row. Call it image_url.

If your export came back with no image links at all, open the product in the Wix editor, right-click the main photo, and copy the image address. That gives you the direct URL. Tedious for a large catalog, so check the export first and only fall back to this for the gaps.

You now have a tidy sheet: one row per product, one image link per row.

Step 2: Build the Bulk Sheet

A typical Wix seller's sheet looks like this.

product_namepricecategoryimage_url
Linen Throw Pillow$38Homehttps://static.wixstatic.com/.../pillow.jpg
Ceramic Mug Set$52Kitchenhttps://static.wixstatic.com/.../mugs.jpg
Wool Runner Rug$145Homehttps://static.wixstatic.com/.../rug.jpg

Save it as CSV or XLSX. Column names do not have to match Canva exactly, since you map them in the Bulk Create panel, but matching names lets Canva auto-connect in one click.

Step 3: Convert the Spreadsheet With Postprep

This is the step Canva refuses to do.

Go to postprep.app, upload your CSV, and pick the column holding the image URLs. Postprep fetches each link, downloads the photo, and embeds it inside the XLSX as DrawingML, the binary format Canva actually reads. Every other column passes through unchanged.

A full catalog sheet takes well under a minute. The free tier covers 100 rows with no account required.

Step 4: Bulk Generate in Canva

Open your product template in Canva. Bulk Create runs from the Apps panel on the left: click Apps, then Bulk Create, then Upload data, and pick your converted XLSX. Drag each column onto its matching placeholder, or use Auto-connect if your names already line up. Click Generate designs, and Canva builds one finished graphic per product with the real photo, name, and price merged in.

Running three template types off the same catalog, say a product tile, a sale card, and a collection grid, just means taking the same converted XLSX into each template and generating three times. Download the set as a ZIP and you have your full run ready to post.

A note to verify against your own account: Bulk Create is a paid Canva feature and runs on desktop. Plan names and eligibility change over time, so confirm Bulk Create is included on your current Canva plan before you build the workflow around it.

A Realistic Wix Store Workflow

Here is the rhythm that works for an active store.

Catalog refresh. When you add a batch of new products in Wix, export the catalog, flatten it to one row per product, and run it through Postprep. Generate the new-arrival graphics and product tiles in Canva in one pass.

Sales and promos. For a seasonal sale, take the same sheet, add a discount column, and run a sale-card template. The product photos are already handled by the conversion step, so a 50-product promo is a few minutes of work, not an afternoon.

Ongoing grid content. Keep one master sheet that mirrors your live catalog. Each time products change, re-export, re-flatten, re-convert, and regenerate. The spreadsheet is the source of truth and Canva is just the render step.

The whole cycle is roughly 20 minutes of spreadsheet time and 10 to 15 minutes per template in Canva, whether your store has 30 products or 300. Embedding photos by hand at that scale is hours per template.

Frequently Asked Questions

My Wix export has multiple image links in one cell. Which one do I use?

Wix packs all of a product's photos into one cell separated by semicolons, with the main image first. For most graphics you want one photo per design, so keep the first link and drop the rest. If you want a specific alternate shot, paste that single link into the image_url cell instead.

My export came back with no image URLs. Now what?

It happens depending on how the catalog was set up. Open each product in the Wix editor, right-click the main photo, and copy the image address to get the direct link. For a large catalog this is slow, so only use it for the products the export missed.

Do the static.wixstatic.com image links work as direct URLs?

Generally yes. Those are direct links to the hosted image file, which is what Postprep needs to fetch and embed. If a link opens the photo directly in your browser, it will work in the conversion step.

Can I run product tiles and sale cards from the same sheet?

Yes. Convert the sheet once with Postprep, then take the resulting XLSX into each template and run Bulk Create separately. Same embedded photos, different layouts.

What if some products genuinely do not need a graphic?

Then leave them off the sheet. Bulk Create generates one design per row, so your sheet should only contain the products you actually want graphics for. There is no rule that says every catalog item needs a post.

Does this touch my live Wix store in any way?

No. You are exporting a copy of your catalog and working with that file. Nothing you do in the spreadsheet, Postprep, or Canva changes your store. It is a one-way export.

The Short Version

Wix Stores hands you a catalog full of image URLs, and Canva Bulk Create treats every one of them as text. The fix is to flatten the export to one row per product, then embed the photos inside the XLSX before Canva ever sees it. Postprep is that missing step.

Export from Wix. Flatten to one row per product. Convert with Postprep. Bulk generate in Canva. Your whole catalog ships its graphics without a single manual image drop.


Try it free at postprep.app — 100 rows, no account required.

Try it free

Canva Bulk Create with real embedded images.

Upload your CSV or XLSX. Select your image column. Download a Canva-ready file. Free for up to 100 rows — no account needed.

Try Postprep →
Pete B.

Written by

Pete B.

Pete is a small business owner who got tired of social media eating his evenings. Posting product graphics across channels used to mean opening Canva, dropping in each image by hand, and repeating that for every listing and every platform. He kept hitting the same wall: Canva Bulk Create can save hours, but it refuses to read image URLs from a spreadsheet — turning a 5-minute workflow into a 2-hour copy-paste job. So he built Postprep to fix that one specific limitation, and writes about bulk content workflows, design tool limitations, and shipping social content without burning out.

Discussion