Shutterstock CSV Upload: The Exact Format, a Working Template, and How to Fix Rejected Files
Most CSV failures have nothing to do with keywords. They come from a filename that's off by one character, a header in the wrong spelling, or a spreadsheet app that silently changed the file. Here's the format, and how to find what broke.
A metadata CSV lets you write descriptions, keywords and categories for a whole batch in one file instead of typing into the Submit page photo by photo. When it works, it saves hours. When it doesn't, Shutterstock rejects the file with a generic error, and you're left comparing columns by eye.
This guide is organized around that second situation: the format first, then a table of the failures we see most often and how to fix each one.
The format Shutterstock expects
According to Shutterstock's contributor help, each row describes one file, and the file must match their sample structure exactly. If it doesn't, the uploader rejects it.
| Column | Required? | What goes in it |
|---|---|---|
Filename | Required | The exact name of the uploaded file, including the extension |
Description | Required | One factual sentence describing the image |
Keywords | Required | Keywords separated by commas, all in one cell |
Categories | Required | One or two categories from Shutterstock's list, separated by a comma |
Illustration | Optional | Yes or No |
Mature Content | Optional | Yes or No |
Editorial | Optional | Yes or No |
A template you can copy
Paste this into a plain text editor, replace the example row, and save it with a .csv extension:
Filename,Description,Keywords,Categories,Illustration,Mature Content,Editorial
IMG_2041.jpg,"Fishing boats moored in a calm harbor at sunrise","fishing boat,harbor,sunrise,boats,moored,calm water,morning,sea,coast,reflection,dock,nautical,travel,tranquil,nobody",Transportation,No,No,No
IMG_2058.jpg,"Aerial view of a winding river through autumn forest","aerial,river,autumn,forest,drone,landscape,fall colors,trees,nature,winding,from above,scenic,outdoors,woodland,nobody","Nature,Parks/Outdoor",No,No,No
Note the quotes. Any cell that contains a comma, like the keyword list or two categories, must be wrapped in double quotes. Otherwise every comma starts a new column and the whole row shifts.
Shutterstock's categories
The Categories column only accepts names from Shutterstock's fixed list, spelled exactly as shown. There is no "Travel" category, which catches many travel photographers. Use Buildings/Landmarks, Parks/Outdoor or Nature instead, depending on the subject.
The upload order matters
This is the step people skip. Shutterstock's instructions are specific:
- Upload your photos or videos first, through the normal web upload or FTPS, and wait until they appear on the Submit page.
- Don't upload the CSV together with the media. It doesn't go through FTPS or the regular upload area.
- On the Submit page, click the CSV button at the top and upload the file there.
- Remove rows for files you aren't submitting this time. The CSV should describe only the current batch.
- After you click Submit, give the system time to process. Clicking the button again doesn't make it faster.
When the CSV gets rejected: a troubleshooting table
Shutterstock's error message rarely tells you which row or column is wrong. Go through these in order. The first ones are the most common.
| Symptom | Likely cause | Fix |
|---|---|---|
| Whole file rejected immediately | Header spelling or order doesn't match the sample, or the file was saved as .xlsx | Copy the header row from the template above. Save as CSV, not as an Excel workbook. |
| File accepted, but some photos have no metadata | The filename in the CSV doesn't match the uploaded file | Check the extension case (.JPG vs .jpg), and any renaming done during export from Lightroom or another editor |
| Keywords land in the Categories column | A cell containing commas isn't quoted | Wrap Description, Keywords and Categories in double quotes |
| Categories are ignored or the row errors | A category name isn't on the list, e.g. "Travel" or "Food & Drink" | Use the exact names from the list above, including slashes and "and" |
| Strange characters in the description | The file was saved in a non-UTF-8 encoding, or with curly quotes | Save as "CSV UTF-8" and replace smart quotes with straight ones |
| Error about files that aren't in the submission | The CSV has rows from an earlier batch | Delete every row whose file isn't on the Submit page right now |
0012.jpg and change encoding on save. For a final check, open the CSV in a plain text editor. What you see there is exactly what Shutterstock will receive.
What goes inside the cells
The format gets the file accepted. The content determines whether anyone finds the photo afterwards. In short:
- Description: one sentence covering what, doing what, and where. "Fishing boats moored in a calm harbor at sunrise" beats "Beautiful morning."
- Keywords: Shutterstock accepts 7 to 50, in English. Put the main subject first and include only terms that are actually visible or clearly implied.
- Editorial: mark
Yesfor photos with identifiable people without a model release, or with visible brands. Those photos can only be sold as editorial.
For a full method for building a keyword list, see the 4-layer keyword guide.
Skip building the CSV by hand
StockFlow writes the description, 50 keywords and categories for each photo and exports a CSV in Shutterstock's format, with categories chosen only from the official list.
Try StockFlow free โ