A free social media content calendar template you can copy
Short answer
Copy this layout into Google Sheets, Excel or any spreadsheet. It has twelve columns: date, time and zone, network, account, format, theme, topic, caption, asset, owner, status and live link. Give the status column a fixed list, fill in the next two weeks and not the year, and check each date against the network’s own scheduling window. The template is ours; the limits beside it are from each network’s help pages, read on 10 October 2026.
The template
Copy the header row into row 1 of a new sheet, then use the two example rows as a guide to what each cell holds. The values in them are invented.
| Date | Time and zone | Network | Account | Format | Theme | Topic | Caption | Asset | Owner | Status | Live link |
|---|---|---|---|---|---|---|---|---|---|---|---|
| 2026-10-19 | 09:00 Europe/London | @yourshop | Carousel | Care | Repotting a root-bound plant in four steps | Drafted, hashtags chosen | Link to slides, v2 | Sam | Scheduled | ||
| 2026-10-21 | 12:00 Europe/London | Your Company Page | Text post | Behind the shop | Why we pack plants the way we do | To write | None yet | Priya | Idea |
Add as many rows as you can finish in the next two weeks. A column you never update is worse than no column, so delete any of the twelve that you won’t keep current.
What goes in each column
| Column | What to put in it | Rule of thumb |
|---|---|---|
| Date | The day the post goes out | Write it as year-month-day, which sorts correctly |
| Time and zone | The time, and the zone by name | Always the zone: LinkedIn converts scheduled times to UTC from your device’s setting, TikTok uses your computer’s time zone, and YouTube’s watch page shows a Pacific-time date |
| Network | One network per row | A post for three networks is three rows, which lets each have its own time and caption |
| Account | The exact name | Matters as soon as you manage two accounts |
| Format | Reel, carousel, photo, Story, text post, video, document | Decides the file and the size |
| Theme | One of your content pillars | See content pillars |
| Topic | The question the post answers, in one sentence | If you can’t write it, the post isn’t ready for a slot |
| Caption | The text, or where it stands | Check its length against the network’s limit |
| Asset | A link to the final file, with a version | One file per row, not a folder |
| Owner | Who finishes it and who approves it | One name |
| Status | A value from the list below | Use a drop-down so it can’t drift |
| Live link | The public link, once it has gone out | Fill it after checking |
Status values
Use a short fixed list so everybody means the same thing by a word:
- Idea. A topic and a theme, nothing made.
- Drafted. The caption and the file exist.
- In review. Someone else has it.
- Scheduled. It is set to go out. It hasn’t, yet.
- Live. It has gone out.
- Checked. You opened the public link and the picture, the caption and the link are right.
Add Failed and Cancelled if you want the sheet to say so. A post sent to several networks can go out on some and fail on others; Mellow Hub calls that state partially published, and in the sheet it is two rows with two statuses.
Setting it up in Google Sheets
- Paste the header row into row 1.
- For the Status column, select the cells and use Insert, then Dropdown. In the panel, choose the Dropdown criteria and enter the six values, using Add another item for each (Google Docs Editors Help). Entries that aren’t on the list are rejected unless you choose to show a warning.
- To colour rows by status, select the table, choose Format, then Conditional formatting, and set a rule for each status (Google Docs Editors Help). Rules are evaluated in the order listed, and the first one that is true sets the format.
- Keep the rows in date order, so the next post is always at the top.
Excel and other spreadsheets take the same twelve columns and the same status list; nothing in the template depends on one program’s feature.
Check the date against each network’s window
Before a row is marked Scheduled, check that its date is one the network’s own scheduler accepts:
- TikTok: 15 minutes to 10 days ahead, from a computer (TikTok Help).
- Instagram: up to 30 days ahead, 25 posts a day, on a public account (Instagram Help).
- Facebook Page: 20 minutes to 29 days (Meta Help).
- LinkedIn: 10 minutes to 3 months (LinkedIn Help).
- Pinterest: up to 30 days, and up to 10 Pins scheduled at a time (Pinterest Help).
A fuller table, with notes, is in how to build a social media content calendar. The content calendar guide has a two-week CSV to download.
Using it with Mellow Hub
The sheet is where you plan; Mellow Hub is where a finished post is written once and sent to several networks, with a caption of its own for any of them. Hub’s own post states are draft, awaiting review, scheduled, publishing, published, partially published, failed and cancelled, so the status list above maps onto what you will see there. Hub doesn’t import a spreadsheet. You paste a row’s caption into Compose, or have an AI assistant that is connected to Hub’s MCP server create the post, within the channels and limits you set.
Hub is paid: plans start at $19 a month (Solo), after a 7-day trial with a card on file that costs nothing if you cancel before it ends, and a monthly plan's first month is 20% off. Publishing is unlimited on every plan, under a fair-use ceiling that stops automated floods (900 publications a month on Solo). One publication is one post on one account, so a post sent to five networks counts as five. There are no automatic overage charges.
Questions people also ask
Is there a free social media content calendar template?
Yes: the one on this page costs nothing and needs no sign-up to copy. Mellow Hub’s content calendar guide also has a two-week example as a CSV file you can download and open in any spreadsheet.
How do I make a content calendar in Google Sheets?
Put the twelve column names in row 1 and make Status a drop-down with Insert, Dropdown. Add a conditional formatting rule for each status if you want colour, and keep the rows in date order.
What columns does a content calendar need at the least?
Date, network, format, topic and status. Add the time zone as soon as you schedule, and an owner as soon as more than one person works on the posts.
How many rows should it have?
Enough for the next two weeks of posts you can actually finish. A calendar filled for a year is guessing; the networks’ own schedulers reach from 10 days to 3 months, so they don’t ask for more.
Does the template work for Excel?
Yes. It is twelve columns and a status list, so it works in Excel, Numbers, Notion tables or any spreadsheet. The drop-down and colour steps above are for Google Sheets, where Google’s help pages describe them.
Sources
- Google Docs Editors Help: Create an in-cell dropdown list
- Google Docs Editors Help: Use conditional formatting rules in Google Sheets
- TikTok Help Center: Schedule video
- Instagram Help Center: How to create and manage scheduled posts and Reels
- Meta Business Help Center: scheduling Facebook posts in Meta Business Suite
- LinkedIn Help: schedule a post as a member
- Pinterest Help: schedule Pins (business accounts)
- YouTube Help: schedule a video
Other companies’ features change. Every statement about them rests on these pages, as they read on the date above.