How to Use Canva Bulk Create with Your Pixieset Gallery Photos
Draft — Post #38 · Target keyword: canva bulk create pixieset · Meta: Pixieset doesn't export a CSV of gallery image links. Here's how to pull photo URLs from your Pixieset galleries and batch-create

Draft — Post #38 · Target keyword: canva bulk create pixieset · Meta: Pixieset doesn't export a CSV of gallery image links. Here's how to pull photo URLs from your Pixieset galleries and batch-create graphics in Canva anyway.
You wrap a Saturday wedding, cull the gallery down to your 15 favorite frames, and upload them to Pixieset so your couple can start previewing while you finish the full edit. Before they even get the notification, you want three Instagram teasers and a "recently booked" graphic live. You copy the image links out of the gallery, drop them into a spreadsheet, upload it to Canva Bulk Create, and every design comes back with an empty image box or a string of URL text where the photo should be.
It compounds fast when you're not just doing one wedding a week. A studio running senior portraits, or a school photographer wrapping picture day, is looking at dozens of Pixieset galleries, one per client or team, each needing its own preview card or delivery announcement. Building each one by hand in Canva turns a Sunday task into a Tuesday problem.
Pixieset doesn't hand you a spreadsheet of image links ready to paste anywhere. Here's the actual workflow, and where photographers usually get stuck before they find it.
Why Canva Bulk Create Stalls for Pixieset Photographers
Canva Bulk Create only pulls a photo into a design when the image is physically embedded inside the spreadsheet file, in a format called DrawingML. A link sitting in a cell doesn't count, even when it's a real, working, permanent URL. Canva reads it as text, the same as a client's name or a caption, and either prints the raw link into your design or leaves the image frame blank. We covered the full mechanics in why Canva Bulk Create ignores image URLs, but the short version: Canva needs the actual picture sitting inside the cell, not a pointer to where it lives online.
This is what makes the failure so confusing for Pixieset users specifically. Right-click a photo in a Pixieset gallery, choose Copy Image Address, and you get a genuine direct link to the file on Pixieset's CDN. Paste it into a browser tab and the photo loads instantly. That's exactly why the Canva failure feels broken: the link clearly works, and Canva still can't see it.
The Manual Workaround Most Pixieset Photographers Try First
Two fixes usually come up before someone finds a converter.
Insert > Pictures in Excel. Open each photo from the gallery, save it to your desktop, then place it into the spreadsheet by hand with Insert > Pictures. Workable for one session's worth of hero shots. For a full week of weddings or a season of team galleries, it turns into hours of dragging and resizing, 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 photo appears to sit right in the cell. It doesn't actually embed anything, it's a live formula rendering a preview. Export to XLSX or CSV and Canva sees a broken formula or flattened text, never a picture. We wrote the full breakdown in our =IMAGE() post.
Both get you through a single gallery. Neither survives a full week of client work.
What You Need Before You Start
- A Canva template with placeholders for your variable text (client name, session date, gallery link) and an image frame for the hero photo
- Your Pixieset galleries organized by client, session, or team, so you can match photos to spreadsheet rows without hunting
- A way to pull image URLs out of Pixieset, since there's no built-in "export as spreadsheet" button
That last part is the real gap. Pixieset gives you batch ZIP downloads of image files and per-photo direct links, not a spreadsheet of URLs you can paste anywhere. If you want your gallery's image links in one place, you're doing it photo by photo.
Step 1: Collect Your Pixieset Image URLs
For a handful of hero shots. Open the gallery, right-click the photo you want, and choose Copy Image Address (or Copy Image Link, depending on your browser). That grabs a direct URL on Pixieset's image CDN, something like images.pixieset.com/.../filename-large.jpg. For the 1 to 5 hero shots most photographers pull per session, this takes a couple of minutes. Paste each link into your spreadsheet next to the matching client name.
For a bigger batch from one gallery. If you're pulling 20 or 30 images out of a single wedding gallery instead of one hero shot per client, there's no shortcut inside Pixieset's dashboard for it. Quick Share lets you select multiple photos and generate one link, but that's a single link to a mini-gallery, not a list of individual URLs for spreadsheet rows. Pixieset references a public API on its status page, but self-serve docs for bulk URL access aren't as clearly published as on some competing gallery platforms, so right-clicking the specific shots you plan to use is usually still the faster option. Most bulk-create workflows only need one or two standout images per gallery anyway, not the full set.
Either way, you want to land on something like this:
| client_name | session_type | gallery_link | hero_image |
| Sarah & Mike | Wedding | pixieset.com/sm-wedding | https://images.pixieset.com/.../hero1-large.jpg |
| The Ortiz Family | Family | pixieset.com/ortiz-family | https://images.pixieset.com/.../hero2-large.jpg |
| Lincoln HS Seniors | Senior Portraits | pixieset.com/lincoln-seniors | https://images.pixieset.com/.../hero3-large.jpg |
Step 2: Clean Up the Sheet
Keep only what your template actually uses. A sneak peek card usually needs client name, session date, and the hero image. A gallery-live announcement might just need the client name, gallery link for the caption, and the photo. Cut anything your design doesn't reference.
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 pick, and returns an XLSX with each image embedded directly in its cell.
- Go to postprep.app
- Upload your Pixieset spreadsheet (CSV or XLSX)
- Select hero_image as the column to convert
- Download the finished XLSX
No account needed for the first 100 rows. A week's worth of sessions runs through in under a minute.
Step 4: Build or Reuse Your Canva Template
If you already have a template for sneak peeks or booking cards, open it. If not:
- Start a new design at whatever size you're posting: Instagram post, story, or a printable card
- Add a text box for the client name and type
{{Client_Name}} - Add any other fields you need, like
{{Session_Date}}or{{Gallery_Link}} - Drop in an image frame for the hero photo
Field names in {{double braces}} need to match your spreadsheet's column headers exactly, capitalization included.
Step 5: Run Bulk Create
- With your template open, click Apps → Bulk Create in Canva's side panel
- Upload the XLSX Postprep gave you
- Match each spreadsheet column to its design element
- Click Continue, then Generate designs
Canva outputs one finished design per row. Download the batch or send it straight to your scheduler.
A Repeatable Workflow for Pixieset Photographers
Gallery-live announcements. The moment a gallery goes live, pull the hero shot, run it through Postprep, and batch a stack of "Your Gallery Is Ready" cards instead of building each one from scratch.
Weekly sneak peeks. Every Sunday, gather the hero image from each session delivered that week, run the sheet through Postprep once, and generate a full batch of teaser graphics in one Bulk Create pass.
Team and school galleries. For school or sports photographers running Pixieset for team day, this extends into full roster graphics, the same way it does for how sports teams use Canva Bulk Create.
Seasonal promos. When a mini-session or print sale goes out to your whole client list, batch-generate the promo graphic across every active gallery instead of duplicating one design by hand for each client.
If you're using a different gallery host, the workflow is nearly identical. See how SmugMug photographers do this, or the general playbook for how photographers use Canva Bulk Create.
Frequently Asked Questions
Does this work with password-protected Pixieset galleries?
Bulk Create never actually fetches an image live from a URL, so gallery privacy isn't what blocks you here. The image CDN link itself is usually accessible even when the gallery page requires a password, but only use this workflow for photos you have the rights to repost as your own marketing, not client proofing galleries you don't have permission to publish elsewhere.
I already have my Pixieset image links. Why won't they just work if I paste them into Canva?
Because Bulk Create doesn't fetch or preview the URL, no matter how valid it is. It reads the cell as plain text. The fix isn't a different kind of link, it's getting the actual image embedded inside the spreadsheet file, which is what Postprep does.
Is there a faster way to pull every photo out of a big gallery at once?
Not through Pixieset's dashboard. There's no one-click export of image URLs as a spreadsheet, and self-serve API docs for bulk access are thin. Right-click the specific hero shots you plan to use instead of trying to pull an entire gallery's worth of links.
Which Pixieset plan do I need for this to work?
Copy Image Address works on Pixieset's free plan, since it's a browser feature, not a paid one. Pixieset's paid tiers mainly add storage, video upload, and branding removal, and pricing has shifted more than once in the past year, so check pixieset.com/pricing before you build a recurring workflow around a specific tier.
How many photos can I run through Postprep at once?
Free for the first 100 rows, no account required. That covers a full week of sessions in one pass for most photographers. Bigger studio catalogs can run in batches, one week or event at a time.
Will the embedded images stay linked back to my live Pixieset gallery?
No, and that's the point. Postprep embeds a copy of the image directly into the XLSX. Once it's embedded, Canva doesn't need to reach back out to Pixieset, or anywhere else, to render it.
The Short Version
Pixieset gives every photo a real, working direct link. Canva Bulk Create still won't read it, because Bulk Create only recognizes images embedded inside the spreadsheet, not linked to it. Right-click to copy the image address for the hero shots you're using, drop them in a spreadsheet next to your client data, run the file through Postprep to get the images properly embedded, then upload that to Canva Bulk Create.
Collect your URLs, convert with Postprep, generate in Canva. That's the whole workflow, whether you're batching one wedding or a full week of sessions.
Try it free at postprep.app — 100 rows, no account required.