Creating posts
How does bulk upload with a CSV work?
Schedule up to 200 posts from one CSV: the columns, the 5 MB limit, how media files are matched, and where errors show.
Go to Bulk Upload in the sidebar, drop in a CSV with up to 200 rows, fix anything the checker flags, then click Schedule N Posts. Each row becomes one scheduled post.
Steps
- Upload your images and videos to Media first. The CSV refers to them by file name.
- Open Bulk Upload in the sidebar.
- Click Download Example CSV or Download Blank Template to get the right columns.
- Fill in one row per post and save it as a CSV (5 MB max, 200 rows max).
- Drop the file on Drop your CSV here or click to upload.
- Check the preview. Rows with problems are listed with what to fix.
- Click Validate to check media and accounts, then Schedule N Posts.
Columns
- date: YYYY-MM-DD, for example 2026-05-15. Required.
- time: HH:MM in 24-hour format, for example 14:30. Optional. Blank rows get a default slot (09:00, 12:00, 15:00, 17:30, 20:00 in turn for the same day).
- content: the post text. Required. Wrap text that contains commas in double quotes.
- platforms: platform names or account IDs joined with +, for example instagram+facebook or instagram+4472. Required. Use account IDs when you have more than one account on a platform. The page lists your account IDs.
- media: a file name from your Media library, for example product-photo.jpg. Use | between files for a carousel: a.png|b.png|c.png.
- cover: optional cover image for a video (TikTok, YouTube, Facebook, Instagram). A file name or an https URL.
- cover_timestamp: optional. Seconds into the video to use as the cover, for example 2.5.
Common header names are accepted too, for example "caption" for content or "channels" for platforms.
Platform names: instagram, facebook, x, linkedin, tiktok, youtube, threads, pinterest, bluesky, telegram, discord, wordpress, google_business.
How media is matched
Files are matched by name without the extension, and case does not matter. image.jpg in the CSV matches image.png in your library. If several files share a name, the most recent upload is used. If a name is close but not exact, the checker suggests the match.
Rules to know
- Instagram and TikTok rows need media. YouTube rows need a video, and the first line of the content is the title. Pinterest rows need an image.
- Times use the time zone shown on the Bulk Upload page.
- A date in the past publishes straight away.
- The Pinterest Destination URL, board and title cannot be set from the CSV. A column named "link" is read as media. Set them in the post editor or through the API.
- X (Twitter) rows count towards your daily X caps. See the X limits article.
Where errors show
Rows with problems are grouped into cards that say how many rows need what, for example a missing platform or a file that was not found. Fix the CSV and upload it again, or edit the rows on the page. The Schedule button says Fix Errors to Schedule until every row passes.
Related articles
Still stuck? Email support@posteverywhere.ai and we will help.