Full Human Tools

Cron expression explainer

Parse and explain cron expressions with next scheduled run times

Minute
0
Hour
0
Day of month
*
Month
*
Day of week
*

Explanation

Every day at midnight

Next scheduled runs

—

Common examples

Cron fields

FieldAllowed valuesDescription
Minute0-59The minute the command will run (0-59)
Hour0-23The hour the command will run (0-23)
Day of month1-31The day of the month the command will run (1-31)
Month1-12The month the command will run (1-12)
Day of week0-6The day of the week the command will run (0-6, Sunday=0)

Special characters

Asterisk (*)

Matches any value in the field

Comma (,)

Specifies a list of values (e.g., 1,3,5)

Hyphen (-)

Specifies a range of values (e.g., 1-5)

Slash (/)

Specifies step values (e.g., */15 for every 15)

01

What is a cron expression?

A cron expression is a schedule written as five fields separated by spaces: minute, hour, day of month, month and day of week. Cron and many job schedulers use it to run tasks at set times, from every minute to once a year. For example, 30 2 * * * means 02:30 every day. The syntax is compact, which also makes it easy to misread.

This explainer reads the standard 5-field format, breaks an expression down field by field and lists the next 5 run times in your local time zone. It accepts numbers, asterisks, lists, ranges and steps. Quartz and Spring use 6 fields that start with seconds; remove that first field before you paste. Names such as MON are not supported.

02

How to read a cron expression

  1. Type or paste an expression with five fields, or pick a common example.
  2. Read the explanation to see what each field matches.
  3. Check the next scheduled runs, shown in your local time.
  4. Change a field and watch the explanation and run times update.
  5. Copy the expression when it does what you need.

03

Cron expression FAQ

What does */5 mean in cron?
A slash sets a step. */5 in the minute field means every 5 minutes, starting at minute 0: 0, 5, 10 and so on up to 55. A step can follow a range too, so 0-30/10 means minutes 0, 10, 20 and 30. In the hour field, */6 means every 6 hours: 00:00, 06:00, 12:00 and 18:00.
How do I run a cron job every Monday at 9:00?
Use 0 9 * * 1. The fields read minute 0, hour 9, any day of the month, any month, and day of week 1, which is Monday. Sunday is 0, and many cron versions also accept 7 for Sunday. For every weekday at 9:00, use 0 9 * * 1-5.
Which time zone does cron use?
Classic cron runs jobs in the server's local time zone unless it is configured otherwise, for example with CRON_TZ on some systems. Many cloud schedulers default to UTC. The next runs listed here are calculated in your browser's time zone, so compare them with your server's setting.
Is my cron expression sent to a server?
No. The expression is parsed and the next run times are calculated in your browser, using your device's clock and time zone. Nothing you type is sent to a server or stored, so you can paste schedules from private crontabs and configuration files.

04