For a general consumer audience, the strongest windows are lunchtime (11am–1pm) and the post-dinner scroll (6pm–9pm) in your audience’s local time, with weekend late mornings adding a third. But population averages are a starting point only — your own Instagram Insights, under Professional dashboard → Total followers → Most active times, beats any calculator, including this one.
What the calculator is actually doing
The hard part of “best time to post” is not the time. It is the timezone. Your audience is active on their clock, and you press publish on yours. So the tool scores all 168 hours of the week in each audience timezone, shifts each set by the live offset between that zone and yours, weights them by audience share, and reweights the total for the format you are posting.
activity = the HIGHEST matching window weight, or the baseline
activity = activity × weekendMult (Saturday and Sunday only)
shiftHours = (yourUTCoffset − audienceUTCoffset) ÷ 60
raw[your hour] = Σ activity × (that zone’s share of your audience)
score[h] = Σ raw[h + k] × tail[k] ÷ Σ tail (content-type decay)
score[h] = (score[h] ÷ max) ^ sharpen × max (curve sharpening)
Two details matter. Overlapping windows take the highest weight, never the sum — an hour covered by a 0.80 window and a 0.45 window scores 0.80, not 1.25. And offsets are read live from your browser’s timezone database, so daylight saving is already included: the answer in July is not the answer in January, and that is correct.
Half-hour timezones
India (UTC+05:30), Nepal (UTC+05:45), Adelaide and others are not whole hours off. When the shift comes out fractional, the tool splits each hour’s weight across the two adjacent hours on your clock rather than rounding: a −4.5 hour shift puts half the weight five hours earlier and half four hours earlier.
The activity profiles
These curves are the tool’s assumptions, published so you can disagree with them: shapes drawn from widely reported patterns in how different audiences use their phones, not measurements of your account and not live Instagram data. Weights are relative, 0 to 1, where 1.00 is that profile’s peak hour.
| Audience type | Baseline (any other hour) | Weekend adjustment | Character |
|---|---|---|---|
| General consumer | 0.12 | ×0.95 | Lunch break and the post-dinner scroll dominate |
| B2B / professional | 0.08 | ×0.35 | Commute, lunch and the end-of-day wind-down |
| Students | 0.14 | ×1.05 | Late evenings dominate; mornings are close to dead |
| Parents | 0.10 | ×0.95 | Before the house wakes up, and after bedtime |
| Night-shift / global | 0.45 | ×1.00 | Flat curve — no dead hour, but a late peak exists |
The baseline is the floor: an hour matching no window still scores that much. The high night-shift baseline (0.45) and the low B2B weekend multiplier (0.35) do more to shape the heatmap than any single window.
Every window, in the audience’s local time
Windows are half-open: 18–21 means 6pm, 7pm and 8pm.
| Audience type | Local window | Weight | Applies on |
|---|---|---|---|
| General consumer | 7–9 | 0.45 | Every day |
| 11–13 | 0.80 | Every day | |
| 15–17 | 0.45 | Every day | |
| 18–21 | 1.00 | Every day | |
| 21–23 | 0.60 | Every day | |
| 10–13 | 0.85 | Weekend | |
| 19–22 | 1.00 | Weekend | |
| B2B / professional | 7–9 | 0.90 | Weekday |
| 9–11 | 0.55 | Weekday | |
| 11–13 | 1.00 | Weekday | |
| 16–18 | 0.85 | Weekday | |
| 20–22 | 0.40 | Weekday | |
| 10–12 | 0.45 | Weekend | |
| Students | 7–8 | 0.35 | Weekday |
| 12–14 | 0.60 | Weekday | |
| 16–18 | 0.70 | Weekday | |
| 20–24 | 1.00 | Every day | |
| 0–2 | 0.65 | Every day | |
| 12–16 | 0.55 | Weekend | |
| 21–24 | 1.00 | Weekend | |
| Parents | 5–8 | 0.90 | Every day |
| 9–11 | 0.50 | Weekday | |
| 12–13 | 0.55 | Every day | |
| 20–23 | 1.00 | Every day | |
| 8–10 | 0.70 | Weekend | |
| Night-shift / global | 10–12 | 0.60 | Every day |
| 16–18 | 0.60 | Every day | |
| 22–24 | 1.00 | Every day | |
| 0–3 | 0.95 | Every day |
Content-type weighting
Posting at 7pm does not only earn attention at 7pm. Each format keeps earning for a different length of time afterwards, so the score for any hour is the audience-activity curve summed across the hours that follow, each weighted by a documented decay. The whole curve is then raised to a power — sharpening — deciding how much the peaks matter relative to the shoulders.
| Content type | Hours credited after posting | Sharpening | Effect on the recommendation |
|---|---|---|---|
| Feed post / carousel | +0h ×1.00, +1h ×0.60, +2h ×0.30, +3h ×0.15 | 1.0 (none) | Baseline — most engagement in the first two or three hours |
| Reel | +0h ×1.00, +1h ×0.90, +2h ×0.80, +3h ×0.70, +4h ×0.55, +5h ×0.40, +6h ×0.28, +7h ×0.18 | 0.9 (flattened) | Long window, flatter curve — timing matters least here |
| Story | +0h ×1.00, +1h ×0.45, +2h ×0.15 | 1.6 (peaks emphasised) | Short tail, sharp curve — pushes toward peak scrolling hours |
The logic is straightforward. A feed post collects most of its engagement early, so only four hours are credited. A Reel keeps being served for hours and sometimes days, so the window runs eight hours past the post and the curve is deliberately flattened — if reels are your format, timing matters less to you than to anyone else here. A Story is consumed in the moment by people already in the app, so it gets the shortest tail and the strongest sharpening: a power of 1.6 widens the gap between a peak hour and a merely decent one, which is what you want when the content expires in a day.
Switching content type changes those weights and nothing else. The tool prints the exact tail and sharpening applied in an expandable panel, so you can check the arithmetic rather than trust it. These decay curves are a transparent model — not measurements taken from Instagram.
Blackout hours
A recommendation you will not act on is worthless. Tap any of the 24 hour chips to black that hour out: it leaves the ranking, the per-day table, the weekly schedule and the calendar export, and everything re-ranks around the gap, so the “best” slot is the best slot you would actually use. Blacked-out hours still appear in the heatmap, greyed, so you can see what you are giving up.
Two presets cover the common cases: Asleep 11pm–6am blacks out 11pm and midnight through 5am; At work 9am–6pm blacks out 9am through 5pm. A third clears them. Black out all 24 and the tool refuses rather than inventing an answer.
Blackouts apply by hour of day across the whole week, not per day. If you can post at 1pm on Saturday but never on a Tuesday, the tool cannot express that — read the per-day table and ignore the rows that do not apply.
Weekday versus weekend
This panel averages your scores down the columns: a 24-hour bar chart for the Monday-to-Friday average, another for Saturday and Sunday, the top three hours in each, and weekend activity as a percentage of the weekday level. Both charts share one scale, so heights are directly comparable.
That percentage is the useful number. A B2B audience shows weekends far below weekdays, which is what the ×0.35 multiplier encodes; a student audience shows them slightly above. Well under 100% and weekends are not where your effort belongs; near or above it and Saturday morning is worth as much as any weekday slot.
Two-zone overlap
For an international audience the real constraint is not which hour you pick, but whether any hour serves both halves at once. Open the comparison panel and the tool plots two zones’ activity curves — normalised so each zone’s own peak reads as 100% — against your local hours, plus a third strip showing the overlap, the lower of the two at every hour.
By default it compares your two largest audience zones, and you can override either. It then counts the hours where both zones sit above 60% of their own peak and names them. Those are the only hours serving both audiences properly; everything else trades one against the other.
When there are no such hours it says so and gives the honest options rather than a false compromise: post twice, pick the larger zone and accept the other sees you late, or lean on a long-tail format — reels — so the second zone catches the post hours later. Zones eight or more hours apart usually land here, and no posting time solves it.
The calendar export
The weekly schedule gives up to two slots per day, at least three hours apart, skipping blacked-out hours and skipping a day entirely when nothing scores. Download .ics calendar turns it into a standard calendar file: one weekly-recurring event per slot, 30 minutes long, with a 15-minute reminder and a description carrying the audience type, content type, audience split and the hour’s share of your weekly peak.
Floating times, deliberately
Events are written as floating local times rather than pinned to a timezone, so a 7pm event stays at 7pm on whatever device opens it. If you travel, the reminders follow your new local clock — convenient if you post on local time, wrong if your audience has not moved. Re-run the tool with your new timezone and re-download if you relocate. The file is generated in your browser: nothing is uploaded and no calendar account is touched.
How to read your result
The headline is the single best hour on your own clock. The top three slots are forced at least 3 hours apart, measured circularly across the week, so you get three genuinely different options rather than 7pm, 8pm and 9pm on one evening. Worth noticing:
- The percentages are relative. “68% of peak” means that hour scores 68% of your best hour — not a predicted engagement rate and not a probability.
- A flat heatmap means a spread-out audience. Peaks in distant timezones land on different hours of your clock and cancel out. That is real information: with no single great time, consistency matters more than timing.
- A sharply banded heatmap means one dominant timezone. Post in the band and ignore the rest.
- Story tightens the recommendation; Reel loosens it. If the top three barely move when you switch to Reel, that is the flattening telling you the truth about your format.
- Check the offsets table. The live UTC offset used for every zone and the hour shift versus you are printed, so you can verify the timezone maths.
- If your shares do not add to 100%, the tool normalises them and says so, warning you if you are more than 2 points off — that usually means a typo.
Getting your real audience split
The tool takes up to three audience timezones because most accounts are concentrated in two or three. To find yours: Instagram app → Professional dashboard → Total followers → Top locations, which gives countries and cities. Convert the top two or three into timezones and enter their shares. Our guide to reading your own Instagram analytics walks through that screen.
What this cannot tell you
Everything here is a population-level average for a category you picked from a dropdown. It has never seen your account. It does not know:
- Your actual followers’ behaviour. Instagram measures this directly and shows it free: Professional dashboard → Total followers → Most active times is a real chart of your real audience by day and hour. Where it and this calculator disagree, believe yours, every time, without hesitating.
- That timing is a minor factor. Instagram’s ranking weighs relationship, interest and content quality far above publish time. A good Reel at a mediocre hour beats a mediocre Reel at the perfect hour, every time.
- How your own formats decay. The content-type tails are a documented model, not your data. If your reels collect views for three days, the eight-hour window understates you.
- Competition in your niche at that hour, which nobody publishes.
- Whether your audience travels, works shifts, or simply does not match the profile you selected.
Use this to pick a starting schedule, run it for three or four weeks, then let your own Insights overrule it. A calculator built on everybody else’s averages is a reasonable first guess and a poor second one. What you post still matters more than when — our guide to captions, bios and hashtags covers that half.
This runs in your browser
No sign-in, no Instagram password, no account connection. Nothing you type or open here is sent to a server — the calculation happens in the page you are looking at. Open your browser’s network tab and watch: after the page loads, there are no further requests.
What is the best time to post on Instagram?
For a general consumer audience, lunchtime around 11am to 1pm and the evening window of 6pm to 9pm in your audience’s local time are strongest, with weekend late mornings close behind. These are population averages — treat them as a starting point and check your own Instagram Insights.
Where do I find my own most active follower times?
Open the Instagram app on a professional account, go to the Professional dashboard, tap Total followers and scroll to Most active times, switching between hours and days. That chart is your real audience and it beats any calculator, including this one.
Should I post in my time or my audience’s time?
Your audience’s time is what matters, but you have to press publish on yours. That conversion is the whole point of this tool: you enter where your audience is, and it returns the hours on your own clock, with daylight saving already applied.
Does the best time change for Reels and Stories?
Yes, and the content-type selector models it. A feed post is credited four hours of audience activity after publishing, a Reel eight, a Story three. The Story curve is sharpened by a power of 1.6, pushing toward peak hours, while the Reel curve is flattened to 0.9 — timing matters most for Stories and least for Reels.
What do the content-type tails actually mean?
They are the weights applied to each hour after you post. A feed post credits the posting hour at 1.00, the next at 0.60, then 0.30 and 0.15. The score for any hour is the audience-activity curve summed across those hours and normalised. It is a transparent model of how long each format keeps being served, not a measurement from Instagram.
How do blackout hours work?
Tap any hour chip to exclude it and it is removed from the top slots, the per-day table, the weekly schedule and the calendar export, with everything re-ranking around the gap. Presets cover 11pm–6am and 9am–6pm. Blackouts apply by hour of day across the week, not to individual days, and blacking out all 24 is refused.
Will the .ics file put events in the right timezone?
They are written as floating local times, so they land at the same wall-clock hour on whatever device opens the file. Convenient at home, wrong if you travel — the reminders follow your new local clock even though your audience has not moved. Re-run the tool with your new timezone and re-download if you relocate.
How much does posting time actually matter on Instagram?
Less than most advice implies. Instagram ranks on relationship, interest and content quality, and posts keep surfacing for hours or days. Timing gives a modest edge on the first hour of distribution — worth getting roughly right, not worth agonising over.
Why did my recommended time change since last time?
Most likely daylight saving. The tool reads live UTC offsets from your browser’s timezone database every time it runs, so a clock change in your country or your audience’s shifts the whole heatmap by an hour. Changing the content type will also move it. The offsets used are printed under your results.
What if my audience is spread across many countries?
Enter the three largest shares — that usually covers most of the audience. Expect a flatter heatmap, because peaks in distant timezones land on different hours of your clock and partly cancel out. The two-zone overlap panel is the honest read: if no hour has both zones above 60% of their own peak, no single posting time serves both.
My two audience zones have no overlapping active hours. What now?
Three honest options, and the tool names them: post twice, pick the larger zone and accept that the smaller one sees you late, or rely on a long-tail format like Reels so the second zone catches the post hours later. Zones eight or more hours apart usually land here, and no posting time solves it.
Engagement Rate Calculator
Work out your real engagement rate by followers or by reach, and see how it sits against the benchmark for your follower tier.
Follower Growth Calculator
Project how long your current growth rate takes to reach a target, under both linear and compounding maths.
Caption Length Counter
Characters, hashtags, mentions and the 125-character “… more” cut-off, all counted live with a feed preview.