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

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:

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:

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:

Common reasons an upload goes wrong

Before you upload: a checklist

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.

See the PinPilot Setup

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.