OneDrive to Canva Bulk Create: How to Get Your Images to Actually Embed
Draft — Post #26 · Target keyword: OneDrive to Canva Bulk Create · Meta: Your images live in OneDrive but Canva Bulk Create won't read the links. Here's the full OneDrive to Canva Bulk Create workflow

Draft — Post #26 · Target keyword: OneDrive to Canva Bulk Create · Meta: Your images live in OneDrive but Canva Bulk Create won't read the links. Here's the full OneDrive to Canva Bulk Create workflow that actually embeds them.
Your whole catalog lives in OneDrive. Product photos, headshots, logos, property shots, all of it, neatly foldered inside Microsoft 365. You build a spreadsheet in Excel with one row per design and a column of OneDrive links pointing at each image. You open Canva Bulk Create, upload the file, and hit generate.
Canva merges every text field perfectly. Then it leaves every image slot blank, or worse, prints the raw OneDrive link as a line of text across your design.
The OneDrive to Canva Bulk Create handoff breaks at exactly one spot: the image link. This post explains why it breaks, why the obvious fixes do not work, and the one step that turns your OneDrive links into images Canva will actually render.
Why Canva Bulk Create Stalls on OneDrive Links
Canva Bulk Create reads two kinds of data very differently.
Text is easy. Drop a column of product names, prices, descriptions, or dates into your sheet and Canva merges every value into its placeholder without complaint.
Images are not text. Canva Bulk Create only accepts images that are physically embedded inside the XLSX file as binary data, in a format called DrawingML. A OneDrive link, no matter how you share it, is just a string of characters. Canva has no instruction to go fetch that URL and download the picture. So it treats the link the way it treats any other text: it either dumps the characters into your design or skips the slot entirely. We broke down the full technical reason in Why Canva Bulk Create Ignores Image URLs.
OneDrive makes this worse than most sources. A standard OneDrive share link does not even point at the image file. It points at a viewer page wrapped in Microsoft sign-in, preview chrome, and permission checks. Even a tool that did try to follow the link would land on an HTML page, not a JPG. That is the same wall people hit with Google Drive and Dropbox share links, and OneDrive for Business is stricter than both.
The Manual Workarounds Most People Try First
There are three popular hacks. All three stall on OneDrive.
The Canva cloud import. Canva does have a feature that connects to OneDrive and pulls files into your media library. That is real, and it is useful, but it is not Bulk Create. It dumps loose images into your uploads panel. It does not match a specific image to a specific spreadsheet row. With 200 products you would still be hand-placing every photo into every generated design, which defeats the entire point of bulk.
The Excel Insert > Picture hack. Open the sheet in Excel, click a cell, use Insert > Picture > Place in Cell, point at the file on disk, repeat for every row. This actually does embed images Canva can read. The catch is you first have to download every OneDrive image to your computer, in the right size, named to match each row, in the right order. For a handful of rows it is fine. For a real catalog it is an afternoon of clicking.
The =IMAGE() formula. People try pasting a OneDrive link into =IMAGE() in Excel or Google Sheets and assume the picture is now part of the file. It is not. =IMAGE() is a live cell reference that renders on screen only. There is no embedded image data, so Canva sees nothing. We covered exactly why this fails in Why =IMAGE() Doesn't Work for Canva Bulk Create.
What You Need Before You Start
Three things.
A Canva template with placeholders. One design with Bulk Create placeholders for your text fields, like {{product_name}} or {{price}}, and an image element where the OneDrive photo should land.
A spreadsheet with one row per design. Built in Excel, exported from OneDrive, or downloaded from wherever your data lives. One column per text field, plus one column for the image link.
Direct image links, not share links. This is the part OneDrive makes fiddly, and the next step handles it.
Step 1: Turn OneDrive Share Links Into Direct Image Links
A normal OneDrive share link opens a preview page, not the image file. To get closer to the raw file, append a download parameter to the link.
Take the share link OneDrive gives you and add ?download=1 to the end (or &download=1 if the link already contains a ?). For a SharePoint or OneDrive for Business link, the format looks like https://yourorg-my.sharepoint.com/personal/.../file.jpg?download=1. That nudges OneDrive to return the file itself instead of the viewer page.
Two honest caveats. First, the file still has to be shared so that anyone with the link can open it, otherwise the download is blocked behind sign-in. Second, OneDrive for Business links are inconsistent. Microsoft has changed this behavior over time, and some tenant settings block anonymous direct links entirely. If your ?download=1 link still opens a login wall when you paste it into a private browser window, that link will not work for any automated tool, and you may need to move those specific images to a folder shared "Anyone with the link."
If wrangling OneDrive's link format is more trouble than it is worth, you can skip it. Postprep also accepts plain share links and handles the fetch where it can, and for anything OneDrive locks down, the cleanest fallback is to copy those images into a public folder or your own site and use those URLs instead.
Step 2: Build the Spreadsheet
One row per design. Put the image link in its own column. A product catalog sheet might look like this.
| product_name | price | sku | image_url |
| Linen Throw Pillow | $38 | TP-201 | https://yourorg-my.sharepoint.com/.../pillow.jpg?download=1 |
| Ceramic Vase | $52 | CV-118 | https://yourorg-my.sharepoint.com/.../vase.jpg?download=1 |
| Wool Runner Rug | $140 | RR-330 | https://yourorg-my.sharepoint.com/.../rug.jpg?download=1 |
Save it as CSV or XLSX. The column names do not need to match Canva exactly, since you map them in the Bulk Create panel, but matching names lets Canva auto-connect in one click.
Step 3: Convert the Spreadsheet With Postprep
This is the step Canva will not do for you.
Go to postprep.app, upload your CSV or XLSX, and pick the column that holds the OneDrive image links. Postprep fetches each link, downloads the image, and embeds it inside the XLSX as DrawingML, the binary format Canva actually reads. Every other column passes through untouched.
A 200-row sheet finishes in about a minute. The free tier covers 100 rows with no account required, so you can test it on a real batch before committing.
Step 4: Bulk Generate in Canva
Open your template in Canva. Make sure you are on a plan that supports Bulk Create. (Bulk Create is a paid feature and the exact eligible plans change over time, so confirm against Canva's current plan page before promising it to a client.)
In the left panel, click Apps, then Bulk Create. Click Upload data and choose the converted XLSX that Postprep gave you, not your original file. Drag each column onto its matching placeholder, or use Auto-connect if the names line up. Click Generate designs.
Canva produces one finished design per row, with the OneDrive images already embedded. Download the set as a ZIP, as PDFs for print, or as PNGs for social.
A Repeatable OneDrive Workflow
Once this clicks, it becomes a five-minute habit instead of a project.
Keep your master images in one OneDrive folder shared as "Anyone with the link." Keep one Excel sheet as your source of truth, with the image-link column already built. When you add new products, headshots, or listings, you drop the photo in the folder, paste the link into a new row, and you are done.
When it is time to generate graphics, export the sheet, run it through Postprep, and upload the converted file to Canva. Same data feeds every template you own. A new-arrivals post, a price card, and a catalog tile can all run off the same converted XLSX, three Bulk Create runs, no extra prep.
For Microsoft 365 teams, this is the cleanest part of the deal: your images never leave OneDrive as the system of record. Postprep just reads from it at generate time.
Frequently Asked Questions
Does Canva connect to OneDrive directly?
Canva can import files from OneDrive into your media library, but that is a manual upload into your uploads panel. It does not match images to spreadsheet rows, which is what Bulk Create needs. For a row-by-row workflow you still need the images embedded in the XLSX.
My OneDrive for Business links keep hitting a sign-in wall. What do I do?
That means the link is not publicly accessible. Reshare those files as "Anyone with the link," or copy them into a folder that is. If your organization blocks anonymous links entirely, move just the images you need into a public location and use those URLs.
Do I have to add ?download=1 to every link?
Not necessarily. It helps OneDrive return the file instead of the preview page, but Postprep can work with plain share links where OneDrive allows it. If a batch comes back with missing images, switching those rows to direct-download links is the first fix to try.
Will the image quality hold up for print?
Yes. Postprep embeds the image the link returns at its original resolution. If your OneDrive files are print-quality, the embedded versions are too. Upload low-res photos and you get low-res output, so keep full-size files in the source folder.
Some rows have no image yet. Will that break the run?
No. Leave the image cell blank. Postprep skips empty cells and Canva leaves the placeholder visible. Re-run the job once the missing photos land.
Can I reuse the same sheet for different designs?
Yes. Convert once, then upload that same XLSX into each template and run Bulk Create separately for each one. One source sheet, many design sets.
The Short Version
OneDrive is a fine place to store your images. It is a terrible place for Canva Bulk Create to read them from, because Canva only accepts images embedded inside the XLSX, and OneDrive only hands out links to a viewer page.
Share your OneDrive images so the links are publicly reachable, build one spreadsheet with a link column, run it through Postprep to embed the images, and upload the converted file to Canva Bulk Create. Your OneDrive catalog becomes a batch of finished designs without a single manual drag.
Try it free at postprep.app — 100 rows, no account required.