Ever spent a Sunday night trying to remember which Reel is already filmed and which caption still needs a second look? You are not alone, and a simple sheet solves most of it. An Instagram content calendar template for Google Sheets is one shared grid where each row is a planned post, with columns for date, time, format, caption draft, short hashtags, asset link, owner, approval status and the link to the live post. Copy the layout in this article into a blank sheet and you have a working calendar in minutes, with no add-on and no code. We walk through the columns, the settings that keep the sheet clean, and a weekly routine you can run from draft to log.

Why Instagram needs its own calendar

A general editorial calendar tracks dates and topics. Instagram adds two things it does not: the profile grid and the format mix. Your profile shows posts as a grid, so the order of posts matters as much as the day they go out. Reels, feed images, carousels and Stories also need different assets and different captions, and Stories do not sit in the grid at all.

Here is a situation we see often. A florist plans a Reel on Monday, a carousel on Thursday and two Stories on the weekend. If the Reel and the carousel both feature the same pale pink arrangement, the profile looks flat from the first screen. A sheet that puts format and asset side by side shows that clash while you can still change it. That is the job an Instagram calendar does, and a plain list of dates cannot do it.

The copy-ready Google Sheets layout

Open a blank Google Sheet, rename the tab Instagram plan, and type these nine headers in row 1, columns A to I, in this order:

Date | Time (your zone) | Format | Caption draft | Hashtags | Asset link | Owner | Approval status | Published link

Sample row for row 2, which you can overwrite: 2026-11-16 | HH:MM | Reel | Three mistakes to avoid when you brew at home | #homebrew #coffeetips #morningroutine | [Drive link to the video file] | Maya | Draft | [live post link, added after publishing]

Each column decides one thing. The list below explains what belongs in each one.

What each column decides

  • Date: the day the post goes live. Type it as a real date so the sheet can sort the rows into order.
  • Time (your zone): the clock time, with your time zone in the header. Leave HH:MM in place until you have a reason to pick a time, as we explain below.
  • Format: Feed, Reel, Story or Carousel. Use a drop-down so every row uses one of the four spellings, which keeps your filters and counts accurate.
  • Caption draft: the full text, including line breaks. Keep the draft in the cell rather than in a chat thread, so one place holds the words the approver reads.
  • Hashtags: a short set for this post only. The next section explains how short.
  • Asset link: a link to the file in your shared folder, not the file itself. Check the dimensions for your format before you save the file, and our guide to Instagram post sizes for 2026 lists feed, Reel and Story sizes.
  • Owner: one named person responsible for the row until it is published.
  • Approval status: Draft, In review or Approved. Treat this column as a human decision, as covered in its own section.
  • Published link: the live post URL, pasted in after the post goes out. It closes the loop between what you planned and what actually went live.

Keep hashtags short and links easy to open

Long hashtag blocks clutter a row and are hard to read, and they often get pasted without much thought. We suggest keeping each post to a small set of three to five tags that match its topic. That is our advice, not a platform rule, so test which tags bring the right viewers in your niche.

Give every asset link the same care. Store the files in one shared folder per month, set sharing so your reviewer can open them, and open one link from a different browser before the post date. A link that asks for a login costs the reviewer time and can cause a missed slot.

A small agency running two client accounts might keep each client's files in a separate folder and use the owner column to show who is chasing each file. The approver never needs to message the designer just to find the video.

Set drop-downs so cells stay clean

Select the Format column, open the Data menu, choose Data validation, and add a list with Feed, Reel, Story and Carousel. Repeat for Approval status with Draft, In review and Approved. Fixed options mean one format never splits into two rows that look the same to a filter.

Time zones for US and other readers

Viewers see each post in their own local time, so the clock in your sheet has to line up with the zone your team plans in. If your reviewer is in London and your audience is in Chicago, a time that looks sensible in the sheet can land at an odd hour for the people you want to reach. Put the zone in the header, for example Time (ET), and keep it the same on every row.

US readers face one extra check. US clocks change twice a year, so any row that crosses a change date may sit an hour off from what you intended. Recheck those rows, especially a weekly series that runs across the change.

For the time itself, we recommend building from your own data. Instagram's insights for your account can point to when your audience is active, and the menu labels for that page change from time to time, so check the current labels before you publish. Fill the column from those windows, and leave HH:MM until you have the data.

Approval status is a human sign-off

The approval column records a decision a person makes. No tool sets it, and a caption that looks finished is not approved until the reviewer types Approved in that cell. That rule is what gives the column its value, because it only protects you when someone has actually read the row.

Use In review when a row is waiting on a reviewer, and move it to Approved only after the reviewer has checked the caption, hashtags, asset and time. A situation we see often: a designer finishes a carousel and sets it to In review, then the writer changes one line of the caption. The reviewer sees the edit in the same row, and the post goes out with the right words.

If you want an approval step inside your browser automation too, Mooflair's approval step can hold a flow until a person says yes, which matches what this column is for.

Moving approved rows into a scheduler

A Google Sheet does not connect to your Instagram account, and it does not publish anything. It plans the month, and a scheduling tool does the posting. Most schedulers accept a file upload, so you export the approved rows as CSV or Excel and map the columns to the tool's fields. Expect to rename a header or two during the mapping.

Export only rows marked Approved, so a draft never reaches the queue by accident. Batch limits differ between tools, so check your scheduler's limit before you build a large file, and split the month into smaller files if needed.

Before you queue anything, our guide to instagram post scheduling covers the decisions to settle first. Stories you decide on the morning of a post are not in the batch, because that row did not exist when you built the file. Add those as same-day rows, so the log stays complete.

Your weekly routine: draft, review, approve, schedule, log

Run the sheet on the same day each week, so the routine becomes a habit. Here is the sequence we recommend:

  1. Draft: add the coming week's rows with date, time zone, format, caption draft, hashtags, asset link and owner. Set Approval status to Draft.
  2. Review: the reviewer reads every row, checks the grid order across the profile and confirms each asset link opens. Set In review on rows that are ready to look at.
  3. Approve: the reviewer or owner sets Approved only on rows that pass. Rows still in review stay out of the export.
  4. Schedule: export the Approved rows and load them into your scheduler, or set each post in Meta Business Suite. If you schedule from a computer, our walkthrough on schedule an Instagram post from desktop shows the steps.
  5. Log: after each post goes live, paste its link into Published link. If a post is skipped, write Skipped and the reason in that cell, so the record stays honest.

Which step slows your week down most? Copy the nine headers into a new sheet today, fill in row 2, and run the five steps once before you trust the routine. Start with one week, and the rest of your month will feel lighter.