How to build your first Pinterest bulk-upload CSV
A free, step-by-step guide for print-on-demand sellers. If you sell stickers, prints or mugs on Redbubble, Etsy or your own store, Pinterest's bulk uploader lets you create many pins from one spreadsheet instead of one at a time.
The bulk uploader takes a single CSV file with one row per pin. It saves a lot of clicking, but it is exact: a wrong header, a misspelled board or an image link that only works for you can spoil the upload. This guide builds the file by hand so you understand every column. You don't need to buy anything to follow it.
One honest note before you start: this is about getting a clean, correct upload. Nobody can promise you traffic or sales from a file, and this guide doesn't either.
Where the rules come from. Statements about what Pinterest requires come from Pinterest's own help pages, read in October 2026 (links at the bottom). Anything marked suggestion is our practical advice, not a Pinterest rule. Pinterest changes its tools, so if anything here disagrees with its current help, follow Pinterest.
What you need first
- A Pinterest business account. Pinterest's help says bulk upload needs one.
- A desktop computer. Pinterest's help says bulk upload is done on desktop, not in the mobile app.
- Your design images, sized for Pinterest (see below).
- A public web address for every image.
- The product page link for each design.
- A spreadsheet app (Google Sheets, Numbers or Excel) that can export CSV.
The eight columns
Use these headers, in this order, as the first line of the file:
Title, Media URL, Pinterest board, Thumbnail, Description, Link, Publish date, Keywords
Pinterest's help lists Title, Media URL and Pinterest board as required. The rest are optional, but keep every header in the file even when a column is empty.
Title
The name of the pin. Pinterest's limit is 100 characters. Suggestion: write to 90 or fewer, put the main keyword first and keep it literal. "Cozy Cat Window Sticker" is more useful than a pun.
Media URL
A publicly accessible link to the image file itself, typically ending in .png or .jpeg. This is the column people trip over most, so it has its own section below.
Pinterest board
The title of the board the pin goes on. You can add a board section after a
slash, like Cottagecore Stickers/Mushrooms. Pinterest's help says
that if the board or section doesn't exist, it is created for you.
Thumbnail
Only for video pins. For image pins, leave it blank but keep the column.
Description
The text that goes with the pin. Pinterest's limit for the bulk CSV is 500 characters. Suggestion: aim for about 180 to 250. Put the main keyword in the first sentence, add a couple of related terms, say who it's for or where it goes, and end with a soft call to action such as "Tap to shop the sticker, print, and more on Redbubble."
Link
Where a click goes. Suggestion: use the specific product page, not your shop homepage, so the click lands on exactly what the pin showed.
Publish date
When the pin should go live. Pinterest's help gives the format as
2023-12-17T08:00:00: year-month-day, a capital T, then
hours:minutes:seconds. What Pinterest's help says about time:
- The time is in UTC, so convert from your local time.
- A future date schedules the pin. If you give a date with no time, the pin publishes at the time of day you uploaded the file.
- Leaving the field empty publishes the pin immediately.
- A badly formatted date causes an error, and that pin won't publish.
Check Pinterest's current help on the time zone before you rely on it.
Keywords
A comma-separated list of search terms. Suggestion: use specific phrases such as "cozy cat art, rainy day aesthetic, cottagecore sticker" rather than generic ones like "cute, art, gift".
Images
Pinterest's spec pages recommend a 2:3 ratio at 1000 by 1500 pixels for standard image pins, and say images taller than 2:3 may be cropped in the feed. PNG and JPEG both work, and the web upload limit is 20 MB per image.
If your product images are square mockups, place each one on a 1000 by 1500 canvas (a simple frame with space around your design is fine) rather than uploading the square as it is.
Why every image needs a public URL
The Media URL column is a link, not an attachment. Pinterest fetches each image from the address you give it, so the address has to work for anyone. A file on your laptop, a private Google Drive file or anything behind a login won't work.
You need somewhere to host the images publicly. One option is a free Cloudinary account: after you upload an image, it gives you a permanent address like this one (made-up account):
https://res.cloudinary.com/your-cloud-name/image/upload/v1/pins/luna-moth-lantern.png
Suggestions: open every URL in a private browser window to check the image loads without logging in, keep file names simple with no spaces, and host images on an account you control.
Boards: create them first, then match exactly
Because Pinterest creates a new board when the name in your file doesn't exist, a small typo or a different capital letter gives you a second board with almost the same name, and your pins end up split between the two. Create your boards on Pinterest first, then copy each name into the spreadsheet exactly.
Suggestions for naming:
- Name boards the way a buyer would search, like "Cozy Cottagecore Stickers", not after your shop.
- One idea per board. Three focused boards are clearer than one board that mixes cats, dark academia and funny mugs.
- A first batch can use just one or two boards.
Dates and pacing
You set the publish date on every row, so the pacing is up to you. Pinterest's bulk-upload help doesn't say how far ahead you can schedule, so check Pinterest's current help. Suggestion: keep a first file within about two weeks.
Suggestions for pace: spread pins out rather than giving dozens the same date. For a brand-new account, 1 to 5 pins a day for the first couple of weeks; for an established one, 5 to 15. Fill in a date on every row, since a blank date publishes immediately. "Fresh" should mean a new image, not the same graphic with a different caption.
The simple version: pick a daily number, then give that many rows each date, at different times. For example, 3 pins a day at 08:00, 12:00 and 18:00 UTC.
A worked example with three rows
Here is a small file for an invented shop. Save it as plain CSV (UTF-8). The first line is the header, and every value is in double quotes.
"Title","Media URL","Pinterest board","Thumbnail","Description","Link","Publish date","Keywords"
"Luna Moth with a Paper Lantern","https://res.cloudinary.com/your-cloud-name/image/upload/v1/pins/luna-moth-lantern.png","Cottagecore Pixel Stickers","","Luna moth art for fans of cottagecore stickers and pastel moths. Sticks to laptops, water bottles and notebooks, or gift it. Tap to shop the sticker, print, and more on Redbubble.","https://www.redbubble.com/shop/ap/000000001","2026-10-20T08:00:00","luna moth art, cottagecore sticker, pastel moth, fairycore decor, night garden"
"Tiny Mushroom Cottage in the Rain","https://res.cloudinary.com/your-cloud-name/image/upload/v1/pins/mushroom-cottage.png","Cottagecore Pixel Stickers","","Mushroom house sticker for cottagecore art lovers and rainy day fans. Sticks to laptops, water bottles and notebooks, or gift it. Tap to shop the sticker, print, and more on Redbubble.","https://www.redbubble.com/shop/ap/000000002","2026-10-20T12:00:00","mushroom house, cottagecore art, cozy sticker, rainy day, woodland home"
"Sleeping Fox Curled in Ferns","https://res.cloudinary.com/your-cloud-name/image/upload/v1/pins/fox-in-ferns.png","Cottagecore Pixel Stickers","","Sleeping fox sticker for forest animal and green aesthetic fans. Sticks to laptops, water bottles and notebooks, or gift it. Tap to shop the sticker, print, and more on Redbubble.","https://www.redbubble.com/shop/ap/000000003","2026-10-20T18:00:00","sleeping fox, forest animal sticker, green aesthetic, woodland nap, cute fox"
Things to notice:
- All three rows go to one board, which must already exist with exactly that name.
- The Thumbnail column is present but empty: two quotes with nothing between them.
- Each row has its own image link, its own product link and its own publish time. The times are 08:00, 12:00 and 18:00 UTC, not your local time.
- The links and Cloudinary name are placeholders. Swap in your own.
- If you edit the file in a plain text editor, avoid double quotes inside descriptions. Spreadsheet apps normally handle them when they export.
Common reasons an upload goes wrong
- A required column is missing or empty. Every row needs a Title, a Media URL and a Pinterest board.
- An image link isn't public. Pinterest has to be able to fetch it without logging in.
- A badly formatted publish date. Pinterest's help says that row errors and the pin won't publish.
- Too many rows. Pinterest's limit is 200 pins per CSV upload. A first file can be much smaller.
- A board name typo. This one doesn't error at all; you just get a new board.
- Not a business account, or uploading from a phone.
Before you upload: a checklist
- Your Pinterest account is a business account, and you're on desktop.
- Every board named in the file already exists, spelled exactly the same.
- Every image is 2:3 (1000 by 1500 pixels), PNG or JPEG, under 20 MB.
- Every Media URL opens the image in a private browser window, without logging in.
- Every Link is the specific product page, and it loads.
- Every row has a Publish date in the format
YYYY-MM-DDTHH:MM:SS, converted to UTC. - Pins are spread across days and times, not stacked on one date.
- Titles are 100 characters or fewer (90 or fewer is better); descriptions are 500 or fewer.
- The file has no more than 200 rows.
- The file has exactly the eight headers, in order, with no blank rows at the bottom.
- You keep a dated copy of the file, so you know what has been uploaded.
Uploading the file
Pinterest's help gives this path on desktop: open the menu (the chevron at the top right), then Settings, then Import content, and next to "Upload .csv or .txt file" click Upload. Menu names move around, so check Pinterest's current help if you don't see it.
Pinterest's help says you'll get a confirmation email after the upload. Wait for that before doing anything else, and upload each file only once. If the same batch goes in twice, you'd have to find and delete the repeat pins by hand.
If you'd rather not build this by hand
Building one batch by hand is a good way to learn the format. Doing it every week or two for a few hundred designs is the tedious part. PinPilot automates that part: it turns your designs into framed 2:3 pin graphics, writes a keyword-led description for each, hosts the images on your own free Cloudinary account (we help you set it up, and it stays yours) and writes the dated CSV. You upload the file to Pinterest yourself; PinPilot never logs into your account. The Setup is $59.99, done for you. It can't promise traffic, clicks or sales.
If the manual method is enough for your shop, keep using it. The checklist works either way.
Sources (Pinterest help, read October 2026): Bulk upload Pins, Review ad specs, Review Pin specs.
Questions? Email pinpilottool@gmail.com.