The Short Answer
Every article about the best time to post on Bluesky gives you a specific hour. We wanted to know whether that advice survives contact with data, so we collected 27,755 original posts from 491 public accounts and tested it.
The aggregate numbers look decisive. Posts published at 07:00 UTC earn 2.4 times the median engagement of posts published at 14:00 UTC. If we stopped there, we would have written the same article everyone else writes.
Then we ran one more test: instead of comparing hours across accounts, we compared them within the same account. For the 138 accounts that posted regularly in both the busiest and quietest windows, quiet hours won 49.3% of the time and busy hours won 50.7%. The median difference was 1.00x.
That is what a coin flip looks like. The hourly pattern is real in the aggregate and absent inside individual accounts, which means it is telling you something about which accounts post when, not about what time you should publish.
Practical takeaway: post when you can actually reply to people. Consistency and replying are measurable levers. The clock, on this evidence, is not.
How We Measured It
Everything here comes from the AT Protocol public API at public.api.bsky.app. No login, no app password, no private data, and nothing that is not already publicly visible on Bluesky.
| Decision | What we did | Why |
|---|---|---|
| Sampling | Snowball from four seed accounts via the follow graph | Reaches beyond any single community, though it carries bias we discuss below |
| Account size | 200 to 500,000 followers | Below 200 engagement is too noisy; above 500,000 a few accounts dominate every bucket |
| Post types | Original top-level posts only | Reposts are not the author's timing decision, and replies follow someone else's clock |
| Post age | Excluded anything under 48 hours old | Recent posts have had less time to accumulate engagement, which would make recent hours look artificially bad |
| Metric | (likes + reposts + replies) / followers | Raw counts just measure account size |
| Average | Median, never mean | One post in our sample reached 1,128% engagement. It moved one hour's mean 18x above its median |
| Time zone | All timestamps UTC | Convert to your own audience's zone, not ours |
That last row on medians matters more than it sounds. If you have read a posting-time study that reports averages, a single viral post could be driving its entire conclusion.
What the Aggregate Data Shows
Here is the chart we would have published if we had stopped early.
Median engagement rate by hour, and how many posts were published in each
491 accounts, 27,755 original posts, September 2026. Bars are engagement, the line is posting volume.
Highlighted bars are 05:00 to 11:00 UTC, the quietest six hours. Notice the line, posting volume, sits at its lowest exactly where engagement is highest. That inverse relationship is the whole story, and it is not what it looks like.
The pattern is clean and consistent. Engagement peaks between 05:00 and 11:00 UTC and bottoms out through the afternoon and evening. The correlation between how many posts an hour receives and how well those posts perform is r = -0.809, which is unusually strong for social data.
The same shape appears across days of the week:
| Day | Posts | Median engagement rate |
|---|---|---|
| Saturday | 2,779 | 0.455% |
| Sunday | 2,544 | 0.447% |
| Monday | 4,278 | 0.360% |
| Friday | 4,013 | 0.355% |
| Thursday | 4,557 | 0.345% |
| Tuesday | 4,570 | 0.337% |
| Wednesday | 5,014 | 0.326% |
Weekends have the fewest posts and the highest engagement. Wednesday has the most posts and the lowest. It looks like a tidy story about avoiding the crowd.
Why We Did Not Believe It
The story was too neat, and it had an obvious alternative explanation we could not rule out.
Every hour in that chart contains a different mix of accounts. If the sort of account that posts at 07:00 UTC differs systematically from the sort that posts at 17:00 UTC, then the chart is comparing accounts rather than hours. The clock would be a label on the difference, not the cause of it.
This is a composition effect, and it is the reason a hospital treating the sickest patients can show worse survival rates than a walk-in clinic while providing better care. The comparison is not like for like.
There is a clean way to test it. Look only at accounts that post in both windows, and compare each account against itself. The account is then held constant, so anything left is the effect of the hour.
The Test That Settles It
We took the six busiest hours (15:00 to 20:00 UTC) and the six quietest (05:00 to 10:00 UTC), and kept only accounts with at least five posts in each. That left 138 accounts, each acting as its own control.
| Result | Accounts | Share |
|---|---|---|
| Quiet hours performed better | 68 | 49.3% |
| Busy hours performed better | 70 | 50.7% |
| Median ratio, quiet vs busy | 1.00x | |
A 2.4x advantage in the aggregate becomes a dead heat once each account is compared with itself. If posting time genuinely drove engagement, these accounts should have done noticeably better in their quiet-hour posts. They did not.
What Is Actually Going On
Splitting the accounts by when they post shows the mechanism plainly.
| Group | Accounts | Baseline engagement rate | Median followers |
|---|---|---|---|
| Post 30%+ during quiet hours | 43 | 0.483% | 2,507 |
| Post 5% or less during quiet hours | 249 | 0.305% | 3,733 |
Accounts that post during the quiet hours are 1.59 times more engaging at every hour of the day, including the busy ones. They are also smaller, which fits: smaller accounts tend to have tighter, more responsive audiences.
So the aggregate chart is not measuring the clock. It is measuring the fact that a particular kind of account, smaller and more conversational, is disproportionately awake at 07:00 UTC. Move a large, low-engagement account to that hour and it does not inherit their numbers.
So What Does Affect Engagement?
Our data speaks to correlation rather than cause, but two things stand out and both point away from scheduling.
Account character beats the calendar. The gap between high and low engagement accounts (1.59x) is larger than any hourly effect we could find within an account (none). Whatever makes an account engaging is doing far more work than when it publishes.
Media is not a shortcut. Just over 40% of the posts in our sample carried images or video, and their presence did not separate high from low performers in any consistent way. It helps some accounts and not others.
The advice that survives this analysis is unglamorous: post consistently in one subject, and reply to people. If you post at a time when you cannot come back and answer the replies, the hour you chose is the least of the problem. Our guide to growing on Bluesky covers the levers that do appear to move.
A note on our own tool. BskySuite's Profile Analytics reports a best posting time. After this study we would put it plainly: that figure describes when your account has historically done well, which is useful for spotting your own habits. It is not evidence that the hour caused the result, and we do not think you should reorganise your day around it.
Limitations
Stating these properly matters more than the headline.
- Snowball sampling is biased. We seeded from Bluesky team accounts, so the sample leans toward the technical, English-speaking, early-adopter part of the network. A sample seeded elsewhere could look different.
- One snapshot. Collected on 5 September 2026, covering each account's recent posts. It is not a longitudinal study and cannot see seasonal effects.
- Correlation, not causation. Even the within-account test cannot fully separate the hour from what people choose to post at that hour.
- Mid-sized accounts only. We excluded accounts under 200 and over 500,000 followers. Very small and very large accounts may behave differently.
- Null results are weaker than positive ones. We found no effect at this sample size. A much larger study might detect a small one. What we can say is that any real effect is far smaller than the 2.4x the aggregate implies.
Get the Data
The full anonymised dataset is published so anyone can check our working or reach a different conclusion. Account handles and exact timestamps are removed, and follower counts are grouped into bands, so nobody is individually identifiable. A stable pseudonymous account id is kept so the within-account analysis can be reproduced.
Download the dataset, CSV, 27,755 rows
Published under a CC BY 4.0 licence. If you use it, cite it as: BskySuite posting-time study, September 2026, n=27,755 posts across 491 accounts. Our methodology page explains how we handle data generally.
Frequently Asked Questions
What is the best time to post on Bluesky? On this evidence, there is not a reliable one. The aggregate data points at roughly 07:00 UTC, but that advantage vanishes when accounts are compared against themselves. Post when you can be around to reply.
Why do other articles recommend specific times? Because the aggregate pattern is real and easy to measure. The mistake is treating it as causal. Comparing 07:00 with 17:00 across different accounts compares the accounts, not the hours.
Does the day of the week matter? The same illusion appears. Weekends show the highest engagement and the lowest volume, Wednesday the reverse. It is the same composition effect.
Did you use anyone's private data? No. Everything came from the public API without authentication, and the published dataset carries no handles, no exact timestamps and no exact follower counts.
Can I reproduce this? Yes. The method section lists every filter and threshold, and the dataset is downloadable. If you reach a different answer we would genuinely like to hear it.