What Is a Cron Expression?
A cron expression is a line of text that tells a scheduler when to run a task. If you are asking what is a cron expression and how to read one, the answer and a live example are right below.
The short answer
A cron expression is a line of text, usually five fields separated by spaces, that tells a scheduler when to run a task. Each field narrows the time: minute, hour, day of month, month and day of week.
30 2 * * 1Runs at 2:30 AM every Monday.
The expression says when. What runs, and in which time zone, is set by the system that reads it.
Try a cron expression
Type any expression and see it broken down field by field, in plain English, with the next run times.
What is a cron expression made of? How to read one
Read the fields from left to right. The scheduler runs the task at every minute when all the fields match. A * matches anything, so the more fields you replace with a number, the rarer the schedule.
| Field | Allowed values | In 30 2 * * 1 |
|---|---|---|
| Minute | 0 to 59 | 30: at minute 30 |
| Hour | 0 to 23 (24-hour clock) | 2: during hour 2, which is 2 AM |
| Day of month | 1 to 31 | *: any day of the month |
| Month | 1 to 12, or JAN to DEC | *: any month |
| Day of week | 0 to 6 with 0 as Sunday (7 also works on many systems), or SUN to SAT | 1: only on Monday |
So 30 2 * * 1 reads: at minute 30, of hour 2, on any day of the month, in any month, but only on Monday. That is 2:30 AM every Monday.
Four symbols let you describe more than a single value: a comma for a list (1,15), a hyphen for a range (9-17), a slash for a step (*/15) and the asterisk for every value. They are covered in the cron special characters reference.
Cron expression examples
These six cover most of what people schedule. Copy one, or open it in the Generator to change the time.
| Expression | What it does | Use |
|---|---|---|
* * * * * | Runs every minute. | Open |
*/15 * * * * | Runs every 15 minutes. | Open |
0 * * * * | Runs every hour, on the hour. | Open |
30 2 * * 1 | Runs at 2:30 AM every Monday. | Open |
0 9 * * 1-5 | Runs at 9:00 AM every weekday (Mon-Fri). | Open |
0 0 1 * * | Runs at 12:00 AM on day 1 of every month. | Open |
There are many more in the cron examples library, and detailed pages for every 5 minutes, every hour, every weekday and the first day of the month.
What a cron expression does not tell you
- The time zone. The expression has none. The system that runs it decides: the server's zone, UTC, or a zone you configure. Use the cron timezone converter to convert.
- What runs. The command, workflow or function is set somewhere else: a crontab line, a workflow file, a manifest.
- Whether it ran. A schedule is a request, not a guarantee. Platforms can delay or skip runs, so jobs should be safe to repeat.
- Which dialect it uses. The same text can be valid on one system and rejected by another. See the next section.
Cron expressions on different platforms
Standard cron has five fields. Several platforms change that, so an expression copied from one place often fails in another. The same schedule, weekdays at 9:00, looks like this:
| System | Weekdays at 9:00 written for it | Guide |
|---|---|---|
| Linux, Kubernetes, GitHub Actions, Vercel | 0 9 * * 1-5 | Crontab syntax reference |
| AWS EventBridge | cron(0 9 ? * MON-FRI *) | AWS cron expression guide |
| Quartz (Java) | 0 0 9 ? * MON-FRI | Quartz cron expression guide |
Use the cron expression validator to check an expression against all of these at once.
Common mistakes when reading cron
- Using
*where you meant a single time.* 9 * * *runs every minute from 9:00 to 9:59, which is 60 runs.0 9 * * *runs once. - Expecting a step to count from now.
*/10in the minute field means minutes 0, 10, 20 and so on of every hour, not ten minutes after you saved it. - Restricting both day fields. On classic Linux cron
0 9 15 * 1runs on the 15th or on Mondays, not on Mondays that fall on the 15th. See the crontab syntax reference. - Forgetting the time zone. "9 AM" on a UTC platform is 9 AM UTC.
Sources and further reading
Use a tool
Try the schedule from this page in a tool.