Cron Expression: Every Hour (0 * * * *)
The expression 0 * * * * pins the minute to 0 while leaving the hour as a wildcard, so the job runs exactly once an hour, right on the hour. It is the standard "hourly" schedule.
Hourly jobs are a workhorse for report generation, periodic cleanups, and moderate-frequency syncs where minute-level timing is unnecessary. The field breakdown and upcoming runs below are computed live in your browser.
0 * * * *On a custom schedule.
6/24/2026, 8:00:00 AM6/24/2026, 9:00:00 AM6/24/2026, 10:00:00 AM6/24/2026, 11:00:00 AM6/24/2026, 12:00:00 PM| Field | Value | Meaning |
|---|---|---|
Minute | 0 | at minute 0 |
Hour | * | every hour |
Day of month | * | every day |
Month | * | every month |
Day of week | * | every weekday |
0 * * * *→Runs at 00:00, 01:00, 02:00 … once every hour.Pinning the minute to 0 prevents the job firing 60 times an hour.
Frequently asked questions
What does 0 * * * * mean?
The minute is fixed at 0 and every other field is a wildcard, so the job runs once per hour at the top of the hour (xx:00).
Why not use * * * * * for hourly jobs?
* * * * * fires every minute (60 times an hour). To run only once an hour you must pin the minute field to a single value, such as 0.
How do I run hourly at a specific minute?
Replace the 0 with the minute you want. For example 30 * * * * runs at xx:30 every hour instead of on the hour.