FREE TOOL
Check a social media CSV before you bulk upload it
Paste or drop a bulk-scheduling CSV and every row is checked the way PostDaily's import checks it: the date and time, the image link, and, if you pick a network, its character limit and whether it needs an image. Each problem comes with the fix. The file stays in your browser.
The four columns
- text is the post. Required, unless the row has an image.
- image_url is a direct https link to the image file. Required for Instagram, TikTok and Pinterest.
- tags are comma-separated names that already exist in your workspace.
- posting_time is when to publish, like 2027-03-14 09:30, in the timezone you pick at import. Blank means the post joins your queue.
Planning a year ahead? The 2027 content calendar is already in these columns, with a row for every date worth planning around.
Common questions
- What columns does a social media CSV need?
- Four: text, image_url, tags and posting_time. Only text is required. image_url must be a direct https link to the image file, tags are comma-separated names that already exist in your workspace, and posting_time is a date and time like 2027-03-14 09:30. Leave posting_time blank and the post goes to the next open slot in your queue instead.
- Which timezone is posting_time in?
- The one you pick when you import, read as wall-clock time. So 2027-03-14 09:30 with Europe/London selected goes out at half past nine London time, whatever timezone your computer is in. The checker uses the timezone you choose above so its answer matches the import.
- Can I bulk upload to Instagram, TikTok and Pinterest?
- Yes, as long as every row has an image URL, because none of the three can publish a post without media. TikTok rows become photo posts. Pinterest also needs a board, which you choose once for the whole file when you import. YouTube can't be bulk uploaded, because it needs a video and the CSV takes image URLs only.
- Is my CSV uploaded anywhere?
- No. The file is read and checked in your browser, and nothing is sent to PostDaily or anywhere else until you import it into your own workspace.
- Why does the checker pass a row that the import still rejects?
- Tags. The checker can't see your workspace, so it doesn't know which tag names exist, and the import rejects a tag your workspace doesn't have. Create the tags first, or leave the column blank. Everything else, from dates to image links to text length, is checked with the same code the import uses.
Import it in one upload
In PostDaily, open a channel's settings, choose Bulk Upload, and drop this file in. Rows with a time are scheduled; the rest fill your queue. Free plan, no credit card.