PostPrep
← Blog
2026-08-30

How to Use Canva Bulk Create with Your TikTok Shop Product Images

Draft — Post #28 · Target keyword: canva bulk create tiktok shop · Meta: TikTok Shop exports your catalog with image URLs, but Canva Bulk Create won't read them. Here's the workflow to fix it and batc

Pete B.
Pete B.
Founder, Postprep

Draft — Post #28 · Target keyword: canva bulk create tiktok shop · Meta: TikTok Shop exports your catalog with image URLs, but Canva Bulk Create won't read them. Here's the workflow to fix it and batch out graphics fast.

You run a TikTok Shop. Maybe it's your main channel, maybe it's one of five. Either way you've got a product catalog sitting in Seller Center, every item already tied to an image URL through the Media Center, and a stack of graphics you need to make: countdown posts for a live sale, "now in my shop" tiles, affiliate briefs for creators. Canva Bulk Create with your TikTok Shop images should turn that into one batch job.

So you export your product list, drop the file into Canva, and hit Bulk Create. The product names, prices, and SKUs land exactly where you want them. Then you look at the image column and it's just text. A long string of characters where a product photo should be. Every design comes out with an empty frame or a URL printed in the middle of it.

This trips up almost every TikTok Shop seller who tries Bulk Create for the first time. Here's why it happens and the exact steps to fix it.

Why Canva Bulk Create Stalls for TikTok Shop Sellers

TikTok Shop is built around hosted image links. When you upload product photos, Seller Center's Media Center stores them and hands back a public URL. That URL is what populates your listing, and it's what shows up in any product export or bulk-edit template you download. For TikTok's own systems, that's all it needs.

Canva Bulk Create doesn't work that way. When you connect a spreadsheet, Canva reads every cell as either plain text or an embedded image. A price becomes a number. A title becomes a headline. But a cell holding a link is still just a string of characters to Canva. Nothing in Bulk Create fetches that link and pulls in the picture behind it. So the URL gets printed as text instead of turning into your product photo.

Canva only drops in an image during Bulk Create when the picture is embedded directly in the spreadsheet file as real DrawingML image data, not referenced by a link. Your TikTok Shop export gives you the link. It never gives you the embed. That's the entire gap, and it's the same one we break down in more detail in Why Canva Bulk Create Ignores Image URLs.

The Manual Workaround Most TikTok Shop Sellers Try First

The first fix people reach for is doing it by hand in Excel. Open the export, click into a cell, go to Insert > Picture > Place over cells, and paste in the product photo. It works. The image is now genuinely embedded, and Canva reads it fine.

It also doesn't scale. A TikTok Shop catalog with 80 or 150 SKUs means 80 or 150 manual inserts, each one resized and lined up with the right row by hand. Add new products for a live event or a seasonal drop, and you're doing the whole thing again from scratch.

The other common attempt is the =IMAGE("url") formula in Google Sheets. It's tempting because the photo shows up right in the cell and the sheet looks finished. But that's a rendered preview, not embedded file data. Export or download that sheet and the formula result doesn't travel with it. Canva opens the file and sees text again, not a picture. We cover exactly why this dead-ends in Why =IMAGE() Doesn't Work for Canva Bulk Create.

Both routes hit the same wall: you need the actual image data sitting inside the spreadsheet, and neither manual method gets you there without doing it one product at a time.

What You Need Before You Start

A product list from your TikTok Shop with at least one column of image URLs. Your Seller Center export or bulk-edit template already has this, since TikTok requires an image URL for every listing.

A Canva account on a plan that includes Bulk Create. (Bulk Create is a Canva Pro and Teams feature and runs on desktop only. Plan names and what's included change, so confirm against Canva's current pricing before you build a workflow around it.)

A Canva template built for the graphic you want to mass-produce: a live-sale countdown tile, a new-arrival post, a creator brief card, whatever you're batching most.

Step 1: Pull Your Image URLs From TikTok Shop

In Seller Center, go to Products > Manage Products and export your catalog, or work from the bulk listing/edit template you already maintain if you have one. (TikTok's bulk templates are category-specific, so the exact column layout can vary. Confirm the image URL column header in your own export before building the working sheet below.)

If your export doesn't already carry clean image links, open a product in Media Center, upload or select the photo, and copy the URL it generates. That's the most reliable way to get a stable, direct link per item.

Step 2: Build the Spreadsheet

Strip the export down to a simple working sheet with one row per product and clear headers:

product_namepriceimage_url
Ribbed Tank Top - Sand19.99https://p16-oec-ttp.tiktokcdn.com/.../tank.jpeg
Mini Waffle Maker24.00https://p16-oec-ttp.tiktokcdn.com/.../waffle.jpeg
Silicone Phone Grip 3-Pack12.50https://p16-oec-ttp.tiktokcdn.com/.../grip.jpeg

Keep the image links in their own column, and open a handful in a browser to confirm they actually load. TikTok Shop image URLs can expire or get rotated when you re-upload a photo, and a dead link can't be embedded no matter what tool you run it through.

Step 3: Convert It With Postprep

Upload your CSV or XLSX to Postprep. It reads the image_url column, fetches each photo, and outputs a new XLSX with every image embedded directly as DrawingML data inside the cells, the exact format Canva Bulk Create needs. The free tier covers up to 100 rows with no account, which handles most TikTok Shop catalogs in one pass. If you want the mechanics behind what "embedded" actually means, How to Bulk Embed Images in Excel From URLs covers it.

Step 4: Bulk Generate in Canva

Open your template, go to Apps, and launch Bulk Create. Upload the XLSX you got back from Postprep. Map product_name to your headline field, price to your price field, and image_url to the image placeholder.

Hit generate. Canva produces one finished design per row, product photo already placed, ready to post or hand off to a creator. A 100-item drop becomes 100 graphics in one batch instead of 100 manual builds.

A Repeatable Workflow for TikTok Shop Sellers

Set this up once and it becomes routine instead of a scramble before every live or drop. Keep a master template per graphic type: a live-sale tile, a new-arrival post, a creator affiliate card. When new inventory lands, export it from Seller Center, run it through Postprep, and bulk generate against the matching template.

If you also list on Amazon, Etsy, or run your own Shopify store, the same converted file works across channels. Sellers doing print-on-demand or dropshipping through TikTok Shop can lean on the same export-and-embed flow covered in How Print-on-Demand Sellers Can Use Canva Bulk Create for Listing Graphics and Mockups and How Dropshippers Can Use Canva Bulk Create for Product Ads, Listing Graphics, and Social Posts.

Worth being straight about scope: not every TikTok Shop post needs a product image baked in. If you're batching plain text hooks or caption ideas, Canva Bulk Create handles that from a normal CSV with no embedding step. The image workflow matters specifically when the product photo has to be on the design.

FAQ

Does Canva Bulk Create read the image URL column from my TikTok Shop export?

No. Canva treats the URL as text and prints it on the design instead of showing the picture. The image has to be embedded in the spreadsheet file, not linked.

Can I use TikTok's own bulk listing template directly?

Yes, once you've trimmed it to the columns you want on the graphic. It already contains your image URLs since TikTok requires one per listing, so it's a fine starting point for your working sheet.

How many products can I process at once?

Postprep's free tier handles up to 100 rows with no account. Larger catalogs run in batches or on a paid tier.

Do TikTok Shop image URLs expire?

They can change if you re-upload or replace a photo in Media Center. Spot-check a few links before converting so you're not embedding a broken image.

Do I need a paid Canva plan for this?

Bulk Create is a paid Canva feature, generally on Pro and Teams, desktop only. Availability changes, so check your account before relying on it.

Will this work for creator briefs, not just my own posts?

Yes. If you're generating spec cards or briefs to hand off to affiliates, the same workflow applies. Map your product data and image to a brief template instead of a social post template.

The Short Version

TikTok Shop hands you image URLs. Canva Bulk Create can only place embedded images. Bridging that gap by hand means inserting every product photo one at a time, and the =IMAGE() formula won't survive the trip into Canva either.

Export your catalog from Seller Center, run it through Postprep to embed every image, then upload the converted file to Canva and generate the whole batch at once. Build your templates once, and every new drop or live sale becomes a five-minute job instead of an 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