Cron Expression Explainer

A cron expression has five fields: minute, hour, day of month, month and day of week. Paste one to read it in plain English and see when it will next run, in your local time or UTC. Ranges (1-5), steps (*/15), lists (1,15) and names (MON, JAN) all work.

Next runs

Try one

Cron syntax

┌───────── minute (0–59)
│ ┌─────── hour (0–23)
│ │ ┌───── day of month (1–31)
│ │ │ ┌─── month (1–12 or JAN–DEC)
│ │ │ │ ┌─ day of week (0–6 or SUN–SAT; 7 is also Sunday)
│ │ │ │ │
* * * * *
SymbolMeaningExample
*Every value* * * * * every minute
,A list0 8,12,17 * * * at 08:00, 12:00 and 17:00
-A range0 9 * * 1-5 weekdays at 09:00
/A step*/10 * * * * every 10 minutes
@dailyMacroSame as 0 0 * * *; also @hourly, @weekly, @monthly, @yearly

Common schedules

  • */15 * * * *: Every 15 minutes
  • 0 * * * *: Every hour, on the hour
  • 30 2 * * *: Every day at 02:30
  • 0 9 * * 1-5: Weekdays at 09:00
  • 0 0 1 * *: Midnight on the 1st of every month
  • 0 18 * * 5: Fridays at 18:00
  • 0 0 * * 0: Midnight every Sunday
  • 0 */6 * * *: Every 6 hours

More examples and pitfalls in cron syntax explained.

Frequently asked questions

What do the five fields in a cron expression mean?

In order: minute (0–59), hour (0–23), day of the month (1–31), month (1–12 or JAN–DEC) and day of the week (0–6 or SUN–SAT, where both 0 and 7 mean Sunday). A * means every value.

What happens if I set both day of month and day of week?

In standard cron, if both fields are restricted (neither is *), the job runs when either one matches, not both. So "0 0 13 * 5" runs on every 13th and on every Friday, not only on Friday the 13th. This is the most common cron surprise.

Which time zone does cron use?

Classic cron uses the server’s local time zone. Many cloud schedulers, such as GitHub Actions and Cloudflare Cron Triggers, always use UTC. Check your platform, and switch this tool to UTC to preview those schedules.

Does this support seconds or the ? character?

No. This explainer follows the standard five-field Unix cron used by crontab, Kubernetes CronJobs, GitHub Actions and most cloud schedulers. Quartz and Spring use six or seven fields with seconds and ?, which are a different format.

Related tools