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.

Next 5 runs (local time)
6/24/2026, 8:00:00 AM
6/24/2026, 9:00:00 AM
6/24/2026, 10:00:00 AM
6/24/2026, 11:00:00 AM
6/24/2026, 12:00:00 PM
Field breakdown of 0 * * * *
FieldValueMeaning
Minute0at minute 0
Hour*every hour
Day of month*every day
Month*every month
Day of week*every weekday
Worked example
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.

Related conversions

Need more options? Try the full Cron Expression Parser.