ClockOrbit

Hourly

0 * * * *

Run once an hour, at the top of the hour.

This preview is live: the table below shows the actual next run times for 0 * * * * in your time zone, recomputed in your browser. Change the expression, dialect, or zone to experiment, then copy the result.

Next runs
valid
Upcoming runs
Fri, Nov 6 2026
14:00 UTC
in 46 minutes
Fri, Nov 6 2026
15:00 UTC
in 2 hours
Fri, Nov 6 2026
16:00 UTC
in 3 hours
Fri, Nov 6 2026
17:00 UTC
in 4 hours
Fri, Nov 6 2026
18:00 UTC
in 5 hours
Fri, Nov 6 2026
19:00 UTC
in 6 hours
Fri, Nov 6 2026
20:00 UTC
in 7 hours
Fri, Nov 6 2026
21:00 UTC
in 8 hours
Fri, Nov 6 2026
22:00 UTC
in 9 hours
Fri, Nov 6 2026
23:00 UTC
in 10 hours
Sat, Nov 7 2026
00:00 UTC
in 11 hours
Sat, Nov 7 2026
01:00 UTC
in 12 hours
Sat, Nov 7 2026
02:00 UTC
in 13 hours
Sat, Nov 7 2026
03:00 UTC
in 14 hours
Sat, Nov 7 2026
04:00 UTC
in 15 hours
Sat, Nov 7 2026
05:00 UTC
in 16 hours
Sat, Nov 7 2026
06:00 UTC
in 17 hours
Sat, Nov 7 2026
07:00 UTC
in 18 hours
Sat, Nov 7 2026
08:00 UTC
in 19 hours
Sat, Nov 7 2026
09:00 UTC
in 20 hours
Sat, Nov 7 2026
10:00 UTC
in 21 hours
Sat, Nov 7 2026
11:00 UTC
in 22 hours
Sat, Nov 7 2026
12:00 UTC
in 23 hours
Sat, Nov 7 2026
13:00 UTC
in 24 hours
Sat, Nov 7 2026
14:00 UTC
in 25 hours

What 0 * * * * means

0 * * * * fires at minute zero of every hour, the canonical hourly job. The single 0 in the minute field is what makes it hourly; a beginner mistake is to write * * * * * and wonder why it runs every minute instead.

Hourly is the workhorse cadence of back-office automation: it is long enough that almost any job finishes well within the window, and frequent enough to keep reports, caches, and syncs usefully current. Many schedulers accept @hourly as an alias for exactly this expression.

Field-by-field breakdown

Unix cron has five fields. Here is what each one is doing in this expression:

FieldValueMeaning
Minute0minute = 0
Hour*every hour
Day of month*every day-of-month
Month*every month
Day of week*every day-of-week

Every hour in every scheduler

The same cadence written for the seven cron dialects you are most likely to meet. Copy the line for the system you target, the field count and day-of-week numbering differ between them.

SchedulerExpressionCopy
Unix / crontab0 * * * *
GitHub Actions0 * * * *
Kubernetes CronJob0 * * * *
Vercel Cron0 * * * *
Quartz0 0 * * * * *
Spring0 0 * * * *
AWS EventBridge0 * * * * *

When you would use 0 * * * *

The gotcha worth knowing

@hourly is a friendly alias for 0 * * * *, but GitHub Actions and pre-1.25 Kubernetes do not understand aliases, write the explicit 0 * * * * to stay portable.

People also search for

cron every hour0 * * * * meaningcrontab hourlycron job every hour

0 * * * * FAQ

What does the cron expression 0 * * * * mean?

0 * * * * means: Run once an hour, at the top of the hour. 0 * * * * fires at minute zero of every hour, the canonical hourly job. The single 0 in the minute field is what makes it hourly; a beginner mistake is to write * * * * * and wonder why it runs every minute instead.

How do I write "every hour" in GitHub Actions?

Use 0 * * * * in the schedule's cron field. @hourly is a friendly alias for 0 * * * *, but GitHub Actions and pre-1.25 Kubernetes do not understand aliases, write the explicit 0 * * * * to stay portable.

How do I write "every hour" for AWS EventBridge?

EventBridge uses six fields with a required year and a ? placeholder in one day field: 0 * * * * *. Wrap it as cron(0 * * * * *) in the console or CloudFormation.

What is the Quartz equivalent of 0 * * * *?

Quartz is seconds-first with a trailing year, so the equivalent is 0 0 * * * * *. Remember Quartz numbers Sunday as 1, the opposite of Unix.

Related cron patterns

More cron tools

Browse the full set of cron pattern pages, or jump to the interactive tools: the cron expression builder for designing a schedule from scratch, the cron cheat sheet for a side-by-side reference, the cron timezone translator for moving a schedule between zones and dialects, and the GitHub Actions cron picker for DST-stable CI schedules.