Social Media Calendar Template
Build a monthly content calendar from your platforms, posting days and content pillars, with formats rotated per platform and a CSV to download. Runs in your browser.
🔒 This tool runs entirely in your browser. Your files are never uploaded to a server.
Pillars are dealt out in rotation, so no theme lands twice in a row. Example shown — replace with your own.
The CSV opens in Sheets, Excel or Numbers with empty Caption and Status columns for you to fill in.
Post list
| Date | Platform | Pillar | Format |
|---|
How to use it
- Pick the month you are planning.
- Tick the platforms you actually publish on, and the days you post.
- Replace the sample pillars with your own themes, one per line.
- Read the calendar, then download the CSV and write the captions in your spreadsheet.
What it fills in, and what it leaves to you
The tedious half of a content calendar is the scaffolding: which dates fall on your posting days, which theme is due next, and making sure one pillar has not quietly taken over the month. That is arithmetic, so it is done for you. The half that matters — the actual idea, the caption, the image — is left blank, because a calendar that invents those for you is a calendar you will throw away.
A worked example: August 2026, posting Monday, Wednesday and Friday on Instagram and LinkedIn.
13 posting days → 26 posts
Aug 3 Instagram · Educational → Reel
Aug 3 LinkedIn · Behind the scenes → Text post
Aug 5 Instagram · Behind the scenes → Carousel
Aug 5 LinkedIn · Customer story → Document carousel
Notice that LinkedIn is always one pillar ahead of Instagram. That is deliberate: the two platforms cover different themes on the same day, and each one still works through the whole list.
Why the rotation is indexed by day, not by post
The obvious way to rotate pillars is to keep a running count of posts and take the next theme each time. It breaks in a way that is easy to miss: if the number of pillars divides the number of platforms, every platform gets pinned to a single theme for the entire month. Five platforms and five pillars, and Instagram is on "Educational" thirteen times.
pillar = pillars[(posting day number + platform position) mod pillar count]
Indexing by the posting day and the platform's position instead means each platform advances exactly one step per day regardless of how many platforms you tick, so that failure cannot happen. If you have fewer pillars than platforms, two same-day posts will share a theme — which is not a bug so much as how repurposing one idea across platforms normally works.
"Shift the rotation" moves the whole schedule one step along, for when the first theme is not the one you want to open the month with.
FAQ
What is a content pillar?
A recurring theme you come back to rather than a one-off idea — "customer story", "teach one thing", "behind the scenes". Three to six is the usual range. Fewer than three and the month reads repetitively; more than about six and each one appears too rarely to build any recognition.
How does the rotation decide what goes where?
Each platform walks the whole pillar list, one step per posting day, starting from a different point in the list. So no platform repeats a theme until it has used all of them, and two posts going out on the same day get different themes as long as you have at least as many pillars as platforms.
Why does the same pillar keep landing on a different format?
Pillars and formats turn over on separate cycles, so the pair only comes round again once both lists have run out. With five pillars and four formats that is twenty posting days — about seven weeks at three posts a week — which is long enough that nothing feels like a rerun.
Can I open the CSV in Google Sheets or Excel?
Yes. It is a standard comma-separated file with quoting where a field needs it, and it starts with a byte order mark so Excel reads accented characters correctly rather than garbling them. The Caption and Status columns are deliberately empty for you to fill in.
Does it schedule or publish the posts?
No — it plans them. Nothing here connects to any social account, nothing is uploaded, and no login is involved. You get a calendar and a spreadsheet; publishing stays wherever you already do it.
Why does the week start on Monday?
Because a content week is a working week, and a Saturday-Sunday split across two grid rows makes a weekend campaign hard to read. The posting-day checkboxes still cover all seven days if you post at weekends.
How we compare
| Feature | Online Tool Store | Downloadable spreadsheet templates | Scheduling platforms |
|---|---|---|---|
| Fills in the real dates for your month | ✓ | You type them in | ✓ |
| Rotates your pillars for you | ✓ | ✗ | Usually a paid tier |
| Per-platform format suggestions | ✓ | ✗ | Varies |
| No account, no email, no signup | ✓ | Often gated behind an email | ✗ |
| Nothing about your plan leaves the browser | ✓ | Depends where you store it | ✗ |
| Actually publishes the posts | ✗ | ✗ | ✓ |
| Team approvals and analytics | ✗ | ✗ | ✓ |
This is the planning step, not the publishing step. It beats a blank spreadsheet because the dates and the theme rotation are done for you, and it costs nothing and asks for nothing. If you need approvals, analytics or actual scheduled publishing, a scheduling platform is the right tool — many people use both, planning here and pasting the CSV in there.