Cron Expression Explainer and Next Run Times

Enter a cron expression such as 30 9 * * 1-5 to see what it means and when it will next run.

Runs in your browser — nothing you enter is uploaded

Cron Expression Explainer

All fields are required unless marked “optional”.

minute hour day-of-month month day-of-week. Macros like @daily also work.

Leave empty to start from now.

Your result will appear hereFill in the fields and press “Explain”.

Formula

  • minute (0–59) hour (0–23) day of month (1–31) month (1–12 or JAN–DEC) day of week (0–7 or SUN–SAT)
  • * any a,b list a-b range */n every n a-b/n range with step
  • Sunday is 0 or 7
  • When both day fields are restricted, the job runs if either matches

Five fields say when a job runs; a star means every value.

Worked examples

Weekdays at 09:30, from 1 January 2026

Cron expression (5 fields)
30 9 * * 1-5
Show runs from (UTC)
2026-01-01

In plain English

At 09:30, on Monday through Friday

Expression: 30 9 * * 1-5

First run on or after 2026-01-01: 2026-01-01 09:30 UTC

Runs shown: 10

 1.  2026-01-01 09:30  Thu
 2.  2026-01-02 09:30  Fri
 3.  2026-01-05 09:30  Mon
 4.  2026-01-06 09:30  Tue
 5.  2026-01-07 09:30  Wed
 6.  2026-01-08 09:30  Thu
 7.  2026-01-09 09:30  Fri
 8.  2026-01-12 09:30  Mon
 9.  2026-01-13 09:30  Tue
10.  2026-01-14 09:30  Wed

Every 15 minutes

Cron expression (5 fields)
*/15 * * * *
Show runs from (UTC)
2026-01-01

In plain English

Every 15 minutes, every day

Expression: */15 * * * *

First run on or after 2026-01-01: 2026-01-01 00:00 UTC

Runs shown: 10

 1.  2026-01-01 00:00  Thu
 2.  2026-01-01 00:15  Thu
 3.  2026-01-01 00:30  Thu
 4.  2026-01-01 00:45  Thu
 5.  2026-01-01 01:00  Thu
 6.  2026-01-01 01:15  Thu
 7.  2026-01-01 01:30  Thu
 8.  2026-01-01 01:45  Thu
 9.  2026-01-01 02:00  Thu
10.  2026-01-01 02:15  Thu

How it works

A cron expression has five space-separated fields: minute, hour, day of month, month and day of week. A star means every value, a comma separates a list (1,15), a dash gives a range (1-5), and /n means every n-th value (*/15 is every 15 minutes). So 30 9 * * 1-5 means 09:30 on Monday through Friday. Month and weekday names such as JAN and MON are accepted, and Sunday is 0 or 7.

The explainer shows a plain-English description, how each field was understood, and the next ten run times in UTC. It applies the rule that surprises many people: when both day-of-month and day-of-week are restricted, the job runs when either one matches, not both. It also rejects things standard cron does not support, such as six-field expressions with seconds, or the Quartz symbols ?, L, W and #, with a message saying why.

Run times are in UTC, and your scheduler may use another time zone, so daylight-saving changes can skip or repeat local times. To convert a run time to a Unix timestamp use the Unix Timestamp Converter, to see the same moment in another time zone try the Time Zone Converter, and to test a text pattern use the Regex Tester.

Assumptions and limits

  • Standard 5-field cron as used by Vixie cron and most Linux systems.
  • Run times are calculated in UTC.
  • Seconds, years and the Quartz symbols ?, L, W and # are not supported.