Cron every hour
Every hour in cron is 0 * * * * or @hourly (Unix), 0 0 * * * ? in Quartz and Spring; this page lists the next hourly runs, calculated in your browser.
0 * * * *
0 0 * * * ?
cron(0 * * * ? *)
Read by our parser as: Every hour, on the hour. Open in the cron checker
Next 10 runs
Calculating in your browser...
- 1
- 2
- 3
At a glance
- Accepts
- Nothing to enter - the schedule is preset on the page
- Outputs
- The expression in Unix, Quartz/Spring and AWS form, plus its next 10 run times
- Where it runs
- Entirely in your browser, on your device
- What leaves your device
- Nothing - what you type stays in this tab
- Limits
- Run times use your browser's timezone or UTC; real schedulers can start a run late
- Account
- Not required - there is no sign-up
- Price
- Free, with no watermark and no usage cap
- Made by
- Visrut
What it means
0 * * * * runs once an hour, at minute 0: 1:00, 2:00, 3:00 and so on. Many crons also accept the nickname @hourly for exactly this. The common mistake is * * * * * or * 1 * * *, which run every minute (the second one, every minute of the 1 AM hour).
When this is the right schedule
Use it when you need hourly rollups, log shipping, or cache warming, and running exactly on the hour is fine.
When to pick something else
Look elsewhere when many other jobs also run on the hour on the same machine or platform. Pick a quieter minute instead; see the half-past page.
Things to watch
The minute field is what makes it hourly
A fixed minute plus * in the hour field is the whole trick. 0 * * * * is on the hour, 17 * * * * is at 17 past. Leaving the minute as * turns an hourly job into one that runs 60 times an hour.
@hourly support varies
cronie and Kubernetes accept @hourly and Spring accepts it too (as 0 0 * * * *). GitHub Actions explicitly doesn't support @hourly or the other nicknames, so write 0 * * * * there.
On the hour is the busiest minute
GitHub documents the start of every hour as a high-load time for scheduled workflows, which can delay runs. Shared cron hosts see the same spike. If exact :00 isn't required, choose another minute.
Frequently asked questions
Is @hourly the same as 0 * * * *?
Yes, in crontab(5), Kubernetes and Spring (where it's 0 0 * * * * with seconds). GitHub Actions doesn't accept @hourly, so use 0 * * * * there.
What does 0 */1 * * * mean?
The same as 0 * * * *: minute 0 of every hour. A step of 1 matches every hour.