Short answer

For a general consumer audience, activity peaks around 6–9pm local time, with a secondary lunchtime peak at 11am–1pm. But those are population averages, not your audience. Instagram gives you the real answer for free: Professional dashboard → Total followers → Most active times. Where that chart disagrees with any published table, believe your own chart.

The “best time to post on Instagram” is the most republished question in social media, and most of the answers are recycled from the same handful of vendor studies — aggregates of one company’s client accounts, in one region, often years old, frequently republished without the sample size, the time zone or the date. That does not make them worthless. It makes them a starting point that you should replace with your own data as soon as you have any.

This piece does two things. It explains the activity model behind our best time to post calculator in full, so you can see exactly what it assumes. And it explains why the whole genre is weaker than it sounds, and what to do instead.

Why every chart you have seen is wrong for you

Four structural problems, none of which any published table can fix.

The time zone is usually missing. A chart saying “post at 7pm” is meaningless unless it also says 7pm where. Most aggregate studies normalise everything to one zone, usually a US one, and then get republished worldwide as if the hour were universal.

Your audience is not the average audience. A B2B accounting account and a student humour account have almost inverted activity curves. Averaging them produces a curve that describes neither. If your niche is unusual — night-shift workers, new parents, a single country outside the sample — the aggregate is actively misleading.

The feed is ranked, not chronological. Instagram’s main feed orders content by prediction rather than by publish time; this is not a secret, it is why a separate chronological “Following” feed exists as an option. A post therefore surfaces to different people over hours or days, which blunts the whole premise that there is one right minute to press publish.

Everyone read the same chart. If a published table tells a million creators that 11am Tuesday is optimal, 11am Tuesday becomes the most crowded hour in your audience’s feed. The advice partially destroys its own edge.

The thing to do before you touch any calculator

Open Instagram, go to your Professional dashboard, tap Total followers, and scroll to Most active times. That chart is a measurement of your actual followers by hour and day. Every calculator on the internet, ours included, is an average of everybody else’s audience. Where the two disagree, yours is right. Use a calculator only when you do not have enough followers for that chart to be meaningful, or when you are planning for an audience in a time zone you do not live in.

What our calculator actually models

No calculator can see your account, and ours does not pretend to. It is a transparent model: it takes a published activity curve for a type of audience, shifts it into your local time using live time zone offsets, weights it by where your followers are, and renders the result as a heatmap. Every input is yours; the only assumption baked in is the shape of the curve.

Here are the five curves in full, so you can judge whether any of them resembles your audience. Each number is a relative weight, where 1.00 is that profile’s peak. Overlapping windows take the highest weight, never the sum.

Audience type Baseline Active windows (local time) Weekend factor
General consumer 0.12 7–9am 0.45 · 11am–1pm 0.80 · 3–5pm 0.45 · 6–9pm 1.00 · 9–11pm 0.60 · weekends also 10am–1pm 0.85 and 7–10pm 1.00 ×0.95
B2B / professional 0.08 Weekdays 7–9am 0.90 · 9–11am 0.55 · 11am–1pm 1.00 · 4–6pm 0.85 · 8–10pm 0.40 · weekends 10am–12pm 0.45 ×0.35
Students 0.14 Weekdays 7–8am 0.35 · 12–2pm 0.60 · 4–6pm 0.70 · every day 8pm–midnight 1.00 and midnight–2am 0.65 · weekends also 12–4pm 0.55 and 9pm–midnight 1.00 ×1.05
Parents 0.10 Every day 5–8am 0.90 · weekdays 9–11am 0.50 · every day 12–1pm 0.55 and 8–11pm 1.00 · weekends 8–10am 0.70 ×0.95
Night-shift / global 0.45 Every day 10am–12pm 0.60 · 4–6pm 0.60 · 10pm–midnight 1.00 · midnight–3am 0.95 ×1.00

The baseline is what every hour scores when no window covers it. Notice how much it varies: the night-shift profile has a baseline of 0.45, nearly half its own peak, which is the model’s way of saying this audience has no dead hours. The B2B baseline is 0.08 and its weekend factor is 0.35, meaning a Saturday hour outside any window scores 0.08 × 0.35 = 0.028 — around 3% of peak. That is the model saying, bluntly, do not post B2B content on Saturday.

The general consumer curve, hour by hour

Worked out for a weekday, so you can see the shape rather than the summary:

Hour Weight Hour Weight
midnight–7am 0.12 3–5pm 0.45
7–9am 0.45 5–6pm 0.12
9–11am 0.12 6–9pm 1.00
11am–1pm 0.80 9–11pm 0.60
1–3pm 0.12 11pm–midnight 0.12

The 5–6pm dip is real in the model and worth pointing out, because it falls between two windows: the afternoon lull ends at 5pm and the evening peak does not start until 6pm. Whether that reflects your audience’s commute is exactly the sort of thing the model cannot know.

The time zone arithmetic, which is the part that genuinely matters

This is where a calculator earns its keep, because it is arithmetic rather than assumption. Your audience’s activity happens in their local time; you press publish in yours. The shift is:

shift (hours) = (your UTC offset − their UTC offset) ÷ 60

Say you are in London during British Summer Time (UTC+01:00) and your audience is in New York (UTC−04:00):

shift = (60 − (−240)) ÷ 60 = +5 hours

Their 6–9pm evening peak therefore lands at 11pm–2am for you. If you have been dutifully posting at 7pm London time for a US audience, you have been publishing into their mid-afternoon lull every single day. This is the single most common and most fixable mistake in the entire topic, and it has nothing to do with the algorithm.

Half-hour zones are handled properly rather than rounded away. India is UTC+05:30; from London that is a shift of −4.5 hours, so the calculator splits each hour’s weight fifty-fifty across the two adjacent local hours instead of pretending the offset is a whole number. Offsets are read live from your browser, so daylight saving is already accounted for — which also means the answer legitimately changes twice a year.

You can enter up to three audience zones with percentage shares. The tool normalises them if they do not add to 100 and warns you when they are more than two points off, because a split you guessed is a result you guessed. Instagram Insights → Total followers → Top locations gives you the real split.

How to read the output honestly

The tool returns a top three, spaced at least three hours apart so you do not get three consecutive versions of the same slot, plus a heatmap and a two-slots-per-day weekly schedule. Treat all of it as a hypothesis list, not a schedule handed down from Instagram.

Then test it. Pick your top slot and a control slot from the mid-range of the heatmap, alternate between them for six to eight posts each, and compare reach and engagement rate by reach. Use by-reach engagement rather than raw likes, because raw likes will mostly reflect how far each post was distributed rather than the hour you posted it.

Be prepared for the honest outcome, which is that the difference is small. Posting time is a real variable and a minor one. In most accounts the gap between a good hour and a mediocre hour is worth less than one genuinely better piece of content. If you are spending more time optimising the clock than the work, the clock is the wrong problem.

What is worth more than the perfect hour

  • Consistency at a decent hour. An audience that learns roughly when you appear is worth more than an audience chasing a shifting optimum.
  • Being awake to reply. Whatever is true about ranking, replying to comments in the first hour is unambiguously good for the conversation. Do not schedule a post for 2am if you will be asleep.
  • Publishing frequency. Post count moves total weekly reach far more reliably than post timing moves per-post reach.
  • The first two seconds. On reels, the opening is the variable with the largest range of outcomes. Nothing about scheduling competes with it.
What is the best time to post on Instagram?

For a general consumer audience, the strongest window in most published activity models is 6–9pm local time, with a secondary peak at 11am–1pm. But the only answer that describes your audience is in Instagram’s own Most active times chart, under Professional dashboard → Total followers. Published tables are averages of other people’s followers.

How do I find the best time to post for my own account?

Open the Instagram app, go to your Professional dashboard, tap Total followers, and scroll to Most active times. It shows your followers’ activity by hour and by day. You need a reasonable follower base for it to be stable; below a few hundred followers, treat it as noisy.

Does posting time still matter if the feed is not chronological?

It matters less than the genre implies. Because the main feed is ranked rather than strictly chronological, a post surfaces to different people over hours or days. Timing still affects who is online in the first minutes, but in most accounts it is a smaller lever than content quality or posting frequency.

Should I post in my time zone or my audience’s?

Your audience’s. Convert their peak hours into your local time using the difference between the two UTC offsets, then schedule against your own clock. Creators posting for an audience several time zones away routinely publish into their audience’s quietest hours without realising it.

Is there a worst time to post on Instagram?

The clearest signal in most activity models is the overnight window in your audience’s local time, and for professional or B2B audiences, weekends generally. In our model a B2B weekend hour outside any active window scores under 3% of peak. Consumer audiences have a much flatter weekend.

How many posts do I need to test whether a posting time works?

At least six posts per slot, ideally more, alternating between your candidate slot and a control. Compare engagement rate by reach rather than raw likes, since raw likes mostly track how far each post was distributed. Expect a small difference; posting time is a real but modest variable.