/ cron expressions / every-hour
// cron expression reference

Cron Expression Every Hour0 * * * *

0 * * * *

Plain English: At minute 0 of every hour — 00:00, 01:00, 02:00 … 23:00, every day.

Try it in the Builder →

How 0 * * * * Works

0 * * * * fires at the top of every hour. The 0 in the minute field pins the run to minute zero; the * in the hour field means "every hour." This is one of the most common cron schedules, used for hourly reports, cache invalidation, token refresh, and heartbeat checks.

Equivalent shorthand: @hourly (supported by most cron implementations).

Field Breakdown

FieldValueMeaning
Minute0At minute zero (top of the hour)
Hour*Every hour (0–23)
Day of month*Every day
Month*Every month
Weekday*Every day of week

Next 10 Run Times

Approximate run times starting from the current date. Open in the builder to see exact run times in your timezone.

00:00 01:00 02:00 03:00 04:00 05:00 06:00 07:00 08:00 09:00

Platform Examples

Linux / Unix crontab
0 * * * * /path/to/script.sh
# or use the shorthand:
@hourly /path/to/script.sh
GitHub Actions
on:
  schedule:
    - cron: '0 * * * *'
AWS EventBridge
cron(0 * * * ? *)
Kubernetes CronJob
spec:
  schedule: "0 * * * *"
node-cron (Node.js)
cron.schedule('0 * * * *', () => { ... });
APScheduler (Python)
scheduler.add_job(fn, 'cron', minute=0)

Related Cron Expressions

FAQ

What is @hourly in cron?
@hourly is a shorthand for 0 * * * *. It is supported by most Unix cron implementations (vixie-cron, cronie, fcron). Not all schedulers (e.g. AWS EventBridge) support shorthands — use 0 * * * * to be safe.
How do I run a cron job at a specific minute past every hour?
Replace the 0 with your target minute. For example, 30 * * * * runs at half past every hour.
Does 0 * * * * run at midnight?
Yes — it runs at 00:00 (midnight), 01:00, 02:00, and so on through 23:00. In total it fires 24 times per day.

Build or explain any cron expression

Use the free visual builder — paste an expression for a plain-English explanation, or click your way to a schedule. See the next 10 run times. No login.

Open CronBuilder →