PostPrep
← Blog
2026-08-30

How to Use Canva Bulk Create with Your BigCommerce Product Images

Draft — Post #15 · Target keyword: canva bulk create bigcommerce · Meta: BigCommerce exports product image URLs in a CSV, but Canva Bulk Create won't read them. Here's the full workflow from BigCommer

Pete B.
Pete B.
Founder, Postprep

Draft — Post #15 · Target keyword: canva bulk create bigcommerce · Meta: BigCommerce exports product image URLs in a CSV, but Canva Bulk Create won't read them. Here's the full workflow from BigCommerce export to bulk-generated graphics.

You run a BigCommerce store with 300 SKUs. New season, new sale, new collection drop, and you need a social graphic, a listing thumbnail, and a promo card for every product. Same layout each time, different photo, title, and price.

You already know Canva Bulk Create is built for exactly this. You export your catalog from BigCommerce, drop the image URL column into a spreadsheet, upload it to Canva, and watch it generate a stack of designs with empty image slots. The product names came through. The photos did not.

This post walks through the full Canva Bulk Create BigCommerce workflow, the one step Canva can't do on its own, and a repeatable rhythm for keeping your store's graphics in sync with your catalog.

Why Canva Bulk Create Stalls for BigCommerce Stores

BigCommerce makes the export easy. Go to Products › Export, pick the Bulk Edit template, and enable the Product Image URL field. You get a clean CSV with one row per product and a column of direct links to every product photo already hosted on BigCommerce's CDN.

That CSV is perfect for re-importing into BigCommerce. It is not what Canva wants.

Canva Bulk Create merges text fields without any trouble. Drop in columns for product name, price, SKU, or category and Canva fills the placeholders cleanly. Image URLs are the problem. Canva's 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 raw link as a string inside your template or leaves the image element blank.

We covered the technical reason in detail in Why Canva Bulk Create Ignores Image URLs. The short version: your BigCommerce export hands Canva exactly the thing Canva refuses to read.

For a store with hundreds of products, that is the difference between a 20-minute batch job and an afternoon of manual work.

The Manual Workaround Most BigCommerce Sellers Try First

The first hack most sellers reach for is Excel's Insert > Picture > Place in Cell. Open the exported CSV in Excel, click an image cell, browse to the downloaded product photo on your laptop, repeat for every row. This works if you have already downloaded all 300 product images, named them to match the rows, and have an afternoon to spare. Most sellers do not.

The second hack is the =IMAGE() formula in Google Sheets. It looks like it embeds the photo right there in the cell, so it feels like it should carry over. It does not. =IMAGE() is a live cell reference that points at a URL, not embedded image data. When Canva parses the file, it sees an empty cell. We broke this down in Why =IMAGE() Doesn't Work for Canva Bulk Create.

Both dead ends come from the same root cause. The image has to live inside the spreadsheet file as real binary data before Canva will touch it.

What You Need Before You Start

Two things.

A Canva template per graphic type. Most BigCommerce stores cycle through a handful of recurring designs: a product post for Instagram or Facebook, a sale or discount card, a new-arrival announcement, and a listing thumbnail. Each template needs Bulk Create placeholders for the text fields like {{product_name}} and {{price}}, plus one image element for the product photo.

A clean export from BigCommerce. One row per product, columns for every text field you want to merge, and a column holding the direct image URL. The export already gives you most of this. You just need to make sure the Product Image URL field is turned on before you download.

Step 1: Export Your Products From BigCommerce

In your store control panel, go to Products › Export. Choose the Bulk Edit export template. Before you download, scroll to the Product Images section and select Product Image URL so the export includes a direct link to each product's primary photo.

Download the CSV and open it. You should see a column of URLs ending in image extensions, each pointing at a product photo on BigCommerce's CDN. Those links are already public and direct, which means they work as-is for the next step. No reformatting needed, unlike Google Drive or Dropbox links that need to be converted first.

If you want secondary images too, BigCommerce exports those in their own columns. Pick the one image per row you actually want on the graphic. One image column per template.

Step 2: Trim the Spreadsheet to What the Graphic Needs

A raw BigCommerce export has dozens of columns you do not need for a social graphic. Keep the ones that map to your template and delete the rest. A trimmed sheet looks like this.

product_namepricecategoryimage_url
Linen Throw Pillow$38Homehttps://cdn11.bigcommerce.com/.../pillow.jpg
Ceramic Mug Set$24Kitchenhttps://cdn11.bigcommerce.com/.../mugs.jpg
Wool Area Rug$129Homehttps://cdn11.bigcommerce.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 everything in one click.

Step 3: Convert the Spreadsheet With Postprep

This is the step Canva refuses to do.

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

A 300-row sheet finishes in about a minute. The free tier covers 100 rows with no account required.

This is the same fix store owners on other platforms use. We have written the equivalent workflow for Shopify stores and WooCommerce stores. The export tool changes, the conversion step is identical.

Step 4: Bulk Generate in Canva

Open your product template in Canva. Make sure you are on a plan that supports Bulk Create. Based on Canva's documentation, Bulk Create is available on paid tiers and runs on desktop, but plan eligibility and naming change over time, so confirm against your own account before you build a workflow around it.

In the left panel, click Apps, then Bulk Create. Click Upload data and choose your converted XLSX. Drag each column onto its matching placeholder, or use Auto-connect if your column names already line up.

Click Generate designs. Canva produces one finished design per product with the photo, name, and price already merged. Download the set as a ZIP, ready to schedule or post.

Running three template types off the same catalog? Take the same converted XLSX into each template and run Bulk Create three times. Same data, three sets of branded graphics.

A Realistic BigCommerce Store Workflow

Here is the rhythm that keeps graphics in sync with a live catalog.

New collection or seasonal drop. Export the new products from BigCommerce, trim the sheet, run it through Postprep, and bulk-generate product posts and new-arrival cards in Canva. Schedule the social rollout.

Sale or promo. Export the products on sale, add a sale_price column, convert, and generate discount cards in one batch. The product photos carry through automatically.

Catalog refresh. When you re-shoot product photography or update listings, re-export, re-convert, and re-run the bulk job. Your graphics stay current with the store without rebuilding each design by hand.

The whole cycle is about 20 minutes of spreadsheet time and 10 minutes per template in Canva, whether you sell 30 products or 600. By hand, the same batch at scale runs into hours.

Frequently Asked Questions

Do the BigCommerce CDN image URLs work directly, or do I have to reformat them?

They work directly. BigCommerce hosts product images on its own CDN and the exported Product Image URL links are already public and direct. You can feed them straight into Postprep with no reformatting, unlike Google Drive or Dropbox links.

My export has multiple image columns per product. Which one do I use?

Use one image column per template. For most product graphics that is the primary image. If you want a different angle on a specific graphic, point Postprep at that column instead. Run the conversion once per image column you actually need.

What if some products have no photo yet?

Leave the image URL cell blank for those rows. Postprep skips the embed for empty cells and Canva leaves the placeholder visible in the generated design. Re-run the bulk job once the photos are live.

Can I include the price and SKU, not just the image?

Yes. Every non-image column passes through untouched. Keep price, SKU, category, or any other text field in the sheet and map it to a placeholder in Canva.

Will the embedded images be high enough resolution for print?

Postprep embeds whatever the URL returns at its source resolution. BigCommerce product photos are usually large enough for social and listing graphics. For print, make sure your source images are high resolution before export.

Does this also work for blog or category banner images?

Yes. Any spreadsheet with an image URL column works the same way, whether the URLs are product photos, category banners, or lifestyle shots. The workflow does not care what the image is, only that the column holds a direct link.

The Short Version

BigCommerce exports your product photos as image URLs. Canva Bulk Create merges text but ignores those URLs because it only reads images embedded inside the XLSX as DrawingML. Postprep is the missing step that turns the URL column into embedded images Canva can actually use.

Export from BigCommerce, trim the sheet, convert with Postprep, bulk generate in Canva. Every product ships its own graphic without building a single design by hand.


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