PostPrep
← Blog
2026-08-30

How to Use Canva Bulk Create with Your Ecwid Product Images

Draft — Post #41 · Target keyword: canva bulk create ecwid · Meta: Ecwid exports product image URLs in your catalog CSV, but Canva Bulk Create won't read them. Here's the fix to turn your Ecwid catalo

Pete B.
Pete B.
Founder, Postprep

Draft — Post #41 · Target keyword: canva bulk create ecwid · Meta: Ecwid exports product image URLs in your catalog CSV, but Canva Bulk Create won't read them. Here's the fix to turn your Ecwid catalog into bulk graphics.

You run your store on Ecwid. Maybe it's a widget embedded on your own site, maybe it's synced to Instagram and Facebook Shop, maybe you're selling through Lightspeed's POS too. Either way, you've got a full catalog of products, each with its own photo, and you need graphics for a restock announcement, a seasonal collection, or a batch of Instagram product tiles. Canva Bulk Create looks like the fastest way to get there instead of opening Canva fifty separate times by hand.

So you export your catalog. In your Ecwid admin, that's Catalog → Data Import & Export → Export Catalog. You drop the CSV into Canva, connect your template fields, hit generate.

The text lands fine. Product names, prices, SKUs all merge into your template exactly where they should. The images don't. Every photo frame in your bulk-generated designs comes back empty, or the raw image URL prints as text across your design instead of a picture. That's the wall almost every Ecwid seller hits the first time they try this, and it stops the whole batch cold.

Why Canva Bulk Create Stalls for Ecwid Sellers

This is the part that trips people up, because it feels like it should just work. Canva Bulk Create only understands two kinds of spreadsheet content: text, and embedded images. Text merges into your template fine. An embedded image, meaning a picture physically stored inside the spreadsheet file itself using a format called DrawingML, also merges fine. A link that points at an image is neither of those things. It's just a string of characters that happens to end in .jpg.

Your Ecwid export hands you image links in a column called product_media_main_image_url, and if a product has gallery photos, those follow in numbered columns like product_media_gallery_image_url_1 and product_media_gallery_image_url_2. These are real, working URLs — Ecwid requires them to be public and directly accessible, so paste one into a browser and your product photo loads instantly. But Canva never opens that link. It reads the cell, sees text, and treats it exactly like any other text field. We cover the technical reason in full here: Why Canva Bulk Create Ignores Image URLs (And How to Fix It). Short version: a link in a cell doesn't count. An image embedded in the cell does.

The Manual Workaround Most Ecwid Sellers Try First

Once the images fail, there are two workarounds people usually reach for, and neither holds up past a handful of products.

The first is Excel's Insert > Picture route. Open your Ecwid export, click into a cell, go to Insert, choose Picture, and manually place each product photo. This genuinely works — Canva can read the result, because the image is now actually embedded in the file. The catch is the labor. A 60-product Ecwid catalog means 60 manual inserts, each resized to sit inside its cell, and you're doing it again every time you add a product or swap a photo.

The second is the =IMAGE() formula in Google Sheets. Type =IMAGE("your-url") into a cell and a thumbnail appears, and it looks like the image is now part of the sheet. It isn't. That formula renders a live preview on screen, but no image data actually gets written into the file. Export or download that sheet and the cell is empty as far as Canva is concerned. We go deep on why this trap catches so many people, and what actually works instead, here: Why =IMAGE() Doesn't Work for Canva Bulk Create.

One more thing worth clearing up: Ecwid does connect to Canva through third-party automation tools like Zapier, Pabbly Connect, and Appy Pie, and it's easy to assume that solves this. It doesn't, not for this job. Those integrations are event-triggered — a new order comes in, or a new product gets added, and Canva generates one design in response. That's useful automation, but it's not the same as taking your existing 80-product catalog and batch-generating 80 designs at once from a spreadsheet. For that, you still need Bulk Create, and Bulk Create still needs embedded images.

What You Need Before You Start

Three things.

An Ecwid store with products that already have images attached — the image URL columns only populate for products with photos uploaded.

A Canva account with Bulk Create. It's generally a Canva Pro or Teams feature and runs on desktop only. Plan availability changes, so confirm it's active on your account before you build a workflow around it. (Petras: worth a quick check that Bulk Create is still gated to Pro/Teams before this goes live.)

A way to turn your image URLs into embedded images. That's the step Postprep handles, and it's the rest of this workflow.

The Step-by-Step Workflow

Step 1: Export your catalog from Ecwid

In your Ecwid admin, go to Catalog → Data Import & Export, then click Export Catalog under the Export data section. Ecwid downloads a CSV in your store's native format — the same schema it uses to re-import products. If you only need a subset, go to Catalog → Products instead, filter to the products you want, and use Export Selected or Export All Found.

Open the file and look for product_name, product_price, and product_media_main_image_url. That last one is your main product photo. Gallery images, if any, show up in additional columns named product_media_gallery_image_url_1, _2, and so on.

Step 2: Trim it down to a working sheet

Ecwid's export includes dozens of columns covering inventory, shipping, SEO fields, and attributes you don't need for a design template. Strip it down to what your graphic actually uses.

product_nameproduct_priceproduct_media_main_image_url
Hand-Thrown Ceramic Bowl$38https://cdn.ecwid.com/.../bowl.jpg
Woven Market Basket$52https://cdn.ecwid.com/.../basket.jpg
Recycled Glass Vase$29https://cdn.ecwid.com/.../vase.jpg

Keep the headers short and predictable. These become the field names you map inside Canva Bulk Create, so plain labels are easier to work with than Ecwid's full column names.

Step 3: Convert the file with Postprep

Save your trimmed sheet as a CSV or XLSX and upload it to Postprep. Postprep reads your image URL column, fetches every photo, and writes back a new XLSX with each image embedded directly inside its cell using DrawingML — the exact format Canva Bulk Create can read.

The free tier covers 100 rows with no account required, which handles most Ecwid catalogs in one pass. Upload, download, done.

Step 4: Bulk generate in Canva

Build your template once: a photo frame for the product image, text elements for {{product_name}} and {{product_price}}. Open Bulk Create from the Apps panel, upload the XLSX Postprep gave you back, and connect each data field to the matching element on your design. Click Generate. Canva produces one finished design per row, real product photo included.

What used to be an afternoon of manual exports and re-uploads is now a few minutes.

A Repeatable Ecwid-to-Canva Workflow

Build this once and you have a system you reuse every time your catalog changes.

Keep a separate Canva template per graphic type: one for new arrivals, one for Instagram product tiles, one for a seasonal sale banner set. Each template needs the photo frame and text fields set up exactly once.

When your catalog updates, re-export from Ecwid, trim to your three or four columns, run it through Postprep, and reconnect in Canva. A full catalog refresh becomes a ten-minute task instead of a lost afternoon.

Because Ecwid stores commonly sell across multiple channels, the same converted spreadsheet is useful beyond Canva too. If you also list products on Shopify or run a WooCommerce site alongside your Ecwid storefront, the same embed-then-generate pattern applies — see How to Use Canva Bulk Create with Your Shopify Product Images and How to Use Canva Bulk Create with Your WooCommerce Product Images for the platform-specific column names on those exports.

FAQ

Does Ecwid's catalog export include product images?

It includes image links, not the image files themselves. The main photo shows up in a column called product_media_main_image_url, and any gallery photos follow in numbered columns. Ecwid requires these URLs to be public and directly accessible — no login or password wall.

Why won't my Ecwid image URLs show up in Canva Bulk Create?

Because Canva Bulk Create only reads embedded images — pictures physically stored inside the spreadsheet file. A URL in a cell is just text to Canva, even though the link opens fine in a browser.

Can Ecwid connect to Canva directly?

Through third-party tools like Zapier, Pabbly Connect, or Appy Pie, yes — but those integrations generate one design per triggered event (a new order, a new product), not a batch from your whole catalog. For batch generation from a spreadsheet, you still need Bulk Create, which still needs embedded images.

What about the =IMAGE() formula in Google Sheets?

It shows a preview on screen but never writes real image data into the file. Canva ignores it the same way it ignores a plain URL.

How many products can I convert at once?

Postprep's free tier handles 100 rows with no account. Larger Ecwid catalogs can run in batches of 100, or use a paid tier to process the whole thing in one go.

Do I need Canva Pro for Bulk Create?

Generally yes — it's a Pro or Teams feature and it's desktop only. Confirm it's active on your account before building a workflow around it, since Canva's plan details do change.

The Short Version

Ecwid gives you product image URLs in your catalog export. Canva Bulk Create can't read URLs, only embedded images. Export your catalog from Catalog → Data Import & Export, trim it to product name, price, and the main image URL column, run it through Postprep to embed the photos, then upload the converted XLSX to Canva and generate the whole batch at once. Set your templates up once, and every future catalog update becomes a ten-minute job instead of a lost afternoon.

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