PostPrep
← Blog
2026-08-30

How to Use Canva Bulk Create with Your Gumroad Product Images

Draft — Post #36 · Target keyword: canva bulk create gumroad · Meta: Gumroad has no bulk product-image export for sellers. Here's how to pull your thumbnail URLs anyway and run your whole catalog thro

Pete B.
Pete B.
Founder, Postprep

Draft — Post #36 · Target keyword: canva bulk create gumroad · Meta: Gumroad has no bulk product-image export for sellers. Here's how to pull your thumbnail URLs anyway and run your whole catalog through Canva Bulk Create.

You've got 40 products live on Gumroad — Canva templates, planners, presets, whatever you make — and you want a promo graphic for every single one before a bundle sale goes live. Redesigning 40 cards by hand in Canva takes an entire evening. Canva Bulk Create is supposed to fix exactly this.

So you grab your product thumbnail links, paste them into a spreadsheet next to the product names, upload the file to Canva Bulk Create, and every image slot comes back blank. Or worse, the raw URL text prints straight across the design where the photo should be.

Gumroad doesn't make this easier. There's no "export product catalog with images" button anywhere in the seller dashboard — just a sales CSV that has nothing to do with your product photos. Here's the actual workflow, and where Gumroad sellers usually get stuck before finding it.


Why Canva Bulk Create Stalls for Gumroad Sellers

Canva Bulk Create only accepts images that are physically embedded inside the spreadsheet, in a format called DrawingML. A link to an image, even one that opens fine in your browser, reads as plain text to Canva. It either drops the raw URL into the design as text or leaves the image frame empty. We covered the full mechanics in why Canva Bulk Create ignores image URLs — short version, Canva needs the actual pixel data sitting inside the cell, not a pointer to where that data lives online.

This hits Gumroad sellers harder than most, because Gumroad's whole catalog is link-based. Every product has a thumbnail_url, every cover image renders from a CDN address, and the storefront itself is just a list of products pointing at hosted files. None of that is embedded by default, and there's no export that changes it.


The Manual Workaround Most Gumroad Sellers Try First

Two things usually come up before someone finds a converter.

Insert > Pictures in Excel. Download each product's cover image from Gumroad one at a time, then place them into the spreadsheet by hand with Insert > Pictures. Workable for 5 products. For 40+ it's a lost afternoon, and the images tend to float above the cells instead of sitting inside them, which breaks Canva's row matching.

The =IMAGE() formula in Google Sheets. Paste =IMAGE("https://...") and the thumbnail shows up right in the sheet, looking embedded. It isn't. It's a live formula rendering a preview. Export to XLSX or CSV and the formula either breaks or flattens to plain text — Canva never sees an actual picture. We wrote the full breakdown, including an Apps Script workaround, in our =IMAGE() post.

Both get you through a handful of products. Neither survives a real catalog.


What You Need Before You Start

  • A spreadsheet with one row per product and one column of image URLs
  • A Canva template with {{Name}}-style placeholders for text and an image frame for the product cover
  • A way to actually get your product image URLs out of Gumroad, since there's no single export for it

That last part is the real gap. Gumroad's dashboard export lives under Analytics > Sales, and it gives you customers and purchases, not products and images. If you want your catalog's image links, you're picking one of two paths.


Step 1: Collect Your Gumroad Image URLs

If you're comfortable creating an API application. Gumroad's API (under your account's Advanced settings, or documented at gumroad.com/api) has a products endpoint that returns your full catalog, and each entry includes a thumbnail_url field pointing at the cover image, alongside name, price, and url. This is the most reliable option for a large library since it pulls directly from your account instead of scraping rendered pages. You'll need someone comfortable running a short script (or a no-code API tool) to loop through the response and drop thumbnail_url into a spreadsheet column. Flag for your own check: Gumroad's steps for generating an API access token have shifted before, so confirm the current path in your account settings before building a workflow around it.

If you'd rather skip the API. A handful of third-party browser extensions (search "Gumroad exporter" in the Chrome Web Store) will pull your product list, cover images included, into a CSV or Excel file in one click, no coding required. These aren't official Gumroad tools, so treat them like any browser extension — check reviews, check permissions, and confirm it's still maintained before installing.

Either way, you want to land on something like this:

ProductPriceImage URL
Minimalist Planner Bundle12.00https://public-files.gumroad.com/abc123/thumb.png
Canva Wedding Invite Kit18.00https://public-files.gumroad.com/def456/thumb.png
Social Media Template Pack9.00https://public-files.gumroad.com/ghi789/thumb.png

Step 2: Clean Up the Sheet

Keep only what your template uses — product name, price, and the image URL column are usually enough. Drop file size, license terms, and variant pricing tiers. A promo graphic doesn't need them.


Step 3: Convert the URLs Into Embedded Images

This is the step that actually fixes the problem. Postprep takes your spreadsheet, fetches the image behind every URL in the column you choose, and returns an XLSX with each image embedded directly in its cell.

  1. Go to postprep.app
  2. Upload your Gumroad spreadsheet (CSV or XLSX)
  3. Select Image URL as the column to convert
  4. Download the finished XLSX

No account needed for the first 100 rows. A 40-product Gumroad catalog runs through in under a minute.


Step 4: Build or Reuse Your Canva Template

If you already have a promo template, open it. If not:

  1. Start a new design at whatever size you're posting — Instagram post, Pinterest pin, email banner
  2. Add a text box for the product name and type {{Product}}
  3. Add a text box for price and type {{Price}}
  4. Drop in an image frame for the cover

Field names in {{double braces}} need to match your spreadsheet's column headers exactly, capitalization included.


Step 5: Run Bulk Create

  1. With your template open, click Apps → Bulk Create in Canva's side panel
  2. Upload the XLSX Postprep gave you
  3. Match each spreadsheet column to its design element
  4. Click Continue, then Generate designs

Canva outputs one finished design per row. Download the batch or drop it straight into your scheduler.


A Repeatable Workflow for Gumroad Sellers

Bundle sales. Filter your sheet to the products going into the bundle, run just those rows, and get a matching set of promo graphics in one pass.

New releases. Add a row the day a new product goes live and run a single-row batch for the launch post — same template, zero redesign.

Cross-platform listings. If you also sell the same templates on Etsy, the same converted XLSX can feed a second Canva template sized for Etsy listing photos instead of social posts.

Seasonal refreshes. Re-run your whole catalog through the same template whenever you update pricing or run a sitewide sale, instead of opening 40 individual designs by hand.


Frequently Asked Questions

Does Gumroad have any built-in way to export product images?

No. The dashboard export under Analytics > Sales covers customer and purchase data, not your product catalog. There's no "download all product images" button as of this writing.

Do I need to be technical to do this?

No. The API route is the most reliable for large catalogs, but a third-party browser extension can pull your product list and image links into a spreadsheet without any coding. Either output feeds into Postprep the same way.

Will this work for digital products with no physical mockup, just a cover image?

Yes. Postprep doesn't care what the image is a photo of — cover art, mockup, screenshot. If it's a public URL pointing at an image file, it'll embed.

What if my cover images are gated behind a purchase?

Postprep can only fetch publicly reachable URLs. Product thumbnails on Gumroad's storefront pages are meant to be public since that's how the listing displays before checkout, so this is usually fine. If a link 404s or hits a login wall, it won't embed — test one in a private browser window if you're not sure.

Can I use this for Gumroad's "Discover" listings too?

Discover placement runs on Gumroad's own algorithm and isn't something a spreadsheet touches. This workflow is for your own promotional graphics — social posts, email banners, bundle announcements — not for influencing Discover ranking.

How big can my catalog be?

Free for the first 100 rows, no account required. Most solo Gumroad sellers never need more than that in one batch. Bigger libraries need a one-time unlock.


The Short Version

Gumroad doesn't give sellers a product-image export, so the real first step is getting your thumbnail_url links into a spreadsheet — through the API if you're technical, or a browser extension if you're not. From there it's the same fix every platform needs: run the sheet through Postprep to embed the images, then feed the XLSX to Canva Bulk Create.

Collect your URLs, convert with Postprep, generate in Canva. That's the whole workflow, whether you're promoting 5 products or 200.


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