PostPrep
← Blog
2025-10-09

How to Bulk Create Canva Graphics from Your Etsy Listings

Etsy sellers can export listing data with image URLs — but Canva Bulk Create ignores them. Here's the exact workflow to turn your Etsy shop into a batch of ready-to-post graphics.

Pete B.
Pete B.
Founder, Postprep

If you sell on Etsy, you're already sitting on everything you need to produce a full content calendar: product titles, prices, descriptions, and photos for every listing in your shop. The problem is getting that data into Canva in a way that actually works.

Canva Bulk Create should be the answer. Feed it a spreadsheet, generate 20 product graphics at once, done. Except when you try it with Etsy listing data — which includes image URLs — Canva either leaves the image slots blank or prints the URL as text.

Here's why that happens and the exact steps to work around it.


The Etsy + Canva Bulk Create Image Problem

Etsy's listing manager lets you export your shop data, and tools like Etsy's built-in export or third-party shop managers give you a spreadsheet with a column of listing image URLs.

Canva Bulk Create can't use those URLs. It requires images to be physically embedded inside the XLSX file as DrawingML objects — binary image data anchored to individual cells. A URL is just a string. Canva won't fetch it, won't resolve it, won't treat it as an image.

This is the same limitation that trips up Shopify sellers, real estate agents, and anyone else working from a URL-based image source. The fix is the same too: convert the URL column into properly embedded images before handing the file to Canva.


Step 1: Get Your Etsy Listing Data

There are a few ways to pull your listing data depending on what you need.

From Etsy's built-in export:

  1. Go to your Shop Manager
  2. Click Listings
  3. Use the bulk export option (available via the "Manage" dropdown or through Etsy's Pattern/Shop settings depending on your account)
  4. Download as CSV

Etsy's native export is limited — it doesn't always include image URLs directly. If that's the case, use one of the methods below.

From a third-party Etsy tool:

Apps like Vela, Marmalead, or EtsyHunt let you export listing data with image URLs included. If you're already using one of these for SEO or bulk editing, export from there.

Manual approach for smaller shops:

If you have 20-50 listings, it's often faster to build the spreadsheet yourself. Open each listing, grab the main image URL from the listing editor (right-click the image → copy image address), and paste into a spreadsheet alongside your title and price. Tedious at 50 listings, but fast at 10.

Your spreadsheet should end up looking something like this:

title price image_url
Hand-Stamped Copper Ring 28.00 https://i.etsystatic.com/.../ring.jpg
Beeswax Taper Candles Set 18.00 https://i.etsystatic.com/.../candles.jpg
Linen Zipper Pouch 22.00 https://i.etsystatic.com/.../pouch.jpg

Step 2: Convert Image URLs to Embedded Images

This is the step that makes Canva Bulk Create actually work with your data.

Postprep takes your CSV with Etsy image URLs and outputs an XLSX with each image embedded directly in the cell — the DrawingML format Canva requires.

  1. Go to postprep.app
  2. Upload your Etsy listing CSV
  3. Select your image URL column (image_url, or whatever you've named it)
  4. Download the converted XLSX

Every image gets fetched and embedded. Your other columns — title, price, any other data — carry through unchanged. The whole conversion takes under a minute.


Step 3: Set Up Your Canva Template

Create a template in Canva that matches what you want to make. Common formats for Etsy sellers:

  • Instagram square (1080×1080) — product showcase, new listing announcement
  • Instagram Story (1080×1920) — sale or promotion
  • Pinterest pin (1000×1500) — product feature with title and price
  • Facebook post (1200×630) — shop update or product spotlight

In your template, use Bulk Create data fields as placeholders:

  • A text element with {{title}} for the product name
  • A text element with {{price}} for the price
  • An image placeholder where the product photo goes

The field names must exactly match your column headers (case-sensitive). If your column is called title, the placeholder is {{title}}.


Step 4: Generate in Canva Bulk Create

  1. Open your Canva template
  2. Go to Apps → Bulk Create in the left sidebar
  3. Click Upload data and select the XLSX from Postprep
  4. Connect your data fields to your template elements (use Auto-connect or drag manually)
  5. Click Generate designs

Canva creates one design per row. If you had 25 listings in your spreadsheet, you now have 25 finished graphics — each with the correct product image, name, and price.

Download as a ZIP of individual image files, or use Canva's publishing tools to schedule them directly.


Etsy-Specific Use Cases Worth Setting Up

New listing announcements. Every time you add a listing, drop it into a one-row spreadsheet, run through Postprep, generate the announcement graphic. Takes 2 minutes instead of 20.

Seasonal batch updates. Before a holiday rush, export your relevant listings (e.g., gift items), bulk-generate a set of holiday-themed graphics from a seasonal Canva template, and schedule them out.

Sale promotions. Pull your sale listings, add a "sale price" column, generate a batch of sale graphics with the original and sale price on each one.

Shop anniversary or milestone posts. Export your bestsellers, generate a "fan favorites" or "shop highlights" batch to mark the occasion.

Pinterest content calendar. Pinterest rewards volume and consistency. Bulk-generating 30 pins from your full listing catalog in one session is far more sustainable than making them one at a time.


Frequently Asked Questions

Etsy's native CSV export doesn't include image URLs. What do I do?

Use a third-party Etsy management tool (Vela is popular) that exports full listing data including image URLs. Alternatively, you can manually build the image URL column by copying image addresses from your listing editor.

Etsy images are hosted on i.etsystatic.com — will those URLs work?

Yes. Etsy's CDN images are publicly accessible. Postprep fetches them the same as any other public image URL.

Can I use listing thumbnail images vs. the full-size images?

Either works. The thumbnail URLs are smaller files and process faster. Full-size URLs give you higher resolution in the final designs — better if you're generating large-format graphics.

I sell digital products on Etsy. Does this still apply?

Yes. Digital product listings still have a main listing image (often a mockup), and the workflow is identical.

What's the row limit?

Free tier handles up to 100 rows — enough for most Etsy shops. A one-time unlock removes the limit for larger catalogs.


The Short Version

Etsy listing data + Canva Bulk Create should be a natural pairing. The only thing in the way is the image URL problem — Canva needs embedded images, not links.

Postprep converts your Etsy CSV in one step. Export your listings, convert with Postprep, bulk-generate in Canva.


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