← Back to Blog
Guide schedule cron guide

Cron Expressions Explained: A Practical Guide

Cron's five fields look cryptic but follow a simple pattern. Here's a plain-English guide with the expressions you'll actually use.

JW

Jason Warner

July 3, 2026

Cron Expressions Explained: A Practical Guide

Cron expressions look like line noise until someone explains the pattern, and then they are simple forever. Five fields, left to right, each answering when.

The Five Fields

* * * * *
| | | | |
| | | | +-- day of week (0-6, Sunday = 0)
| | | +---- month (1-12)
| | +------ day of month (1-31)
| +-------- hour (0-23)
+---------- minute (0-59)

A star means every. So * * * * * is every minute of every hour of every day.

Patterns You'll Actually Use

  • 0 * * * * — every hour, on the hour.
  • */5 * * * * — every five minutes.
  • 0 9 * * * — every day at 9am.
  • 0 9 * * 1 — every Monday at 9am.
  • 0 0 1 * * — midnight on the first of every month.

The */5 form means every 5 units, and a comma lets you list values: 0 9,17 * * * runs at 9am and 5pm.

A Few Gotchas

Times are in a fixed timezone, so account for the offset from your local time. And be careful combining day-of-month with day-of-week — in standard cron they are ORed together, which surprises people who expect an AND.

Test Before You Trust

Before relying on an expression, confirm the next few run times match what you expect. A schedule that is off by one field can mean a report that never arrives or one that fires every minute.


Schedule HTTP jobs with plain cron expressions. Try Bluejay Schedule free.

#schedule #cron #guide

Build more reliable webhook workflows.

Capture, transform, and retry webhooks with full observability. Free to start, no credit card.