What is the Cron Expression Explainer?
A cron expression is a short schedule used by crontab on Linux and macOS, and by tools like Kubernetes CronJobs, GitHub Actions, AWS EventBridge and Spring. Five fields set the minute, hour, day of the month, month and day of the week; symbols such as *, /, - and , combine them. They are compact, but easy to misread.
This explainer turns any expression into a plain-English sentence, breaks it down field by field, and lists the next run times in your time zone or any other, so you can be sure a job runs exactly when you expect. It also understands six-field expressions with seconds, Quartz expressions with a year, and the special characters L, W and #.
How to use it
- Paste or type a cron expression, or pick one of the examples.
- Read the plain-English summary and the meaning of each field.
- Choose a time zone to see the next run times there.
- If something is wrong, the field with the problem is highlighted with an explanation.
Example
*/15 9-17 * * 1-5
Every 15 minutes, between 09:00 and 17:59, Monday to Friday.
Features
- Plain English. A clear sentence for any expression, from */5 * * * * to 0 0 L * *.
- Field by field. Each field’s value and meaning in a table, plus a visual breakdown.
- Next run times. The next eight runs with dates and “in 3 hours”, in any of a dozen time zones.
- Extended syntax. Seconds, Quartz year fields, names like MON and JAN, @daily macros, L, W and #.
- Helpful errors. Out-of-range values and typos are explained and the field is highlighted.
- Private. Everything runs in your browser.
Frequently asked questions
What do the five fields of 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–7, where 0 and 7 are Sunday, or SUN–SAT). An asterisk means “every”.
What does */5 mean?
The slash is a step: */5 in the minute field means every 5 minutes (0, 5, 10…). 10-30/5 means every 5 minutes from 10 to 30.
What happens if I set both day of month and day of week?
In standard (Linux) cron the job runs when either matches. For example 0 0 13 * 5 runs on the 13th of every month and on every Friday, not only on Friday the 13th.
Which time zone does cron use?
Linux cron uses the server’s time zone (often UTC on cloud servers), GitHub Actions always uses UTC, and Kubernetes uses the controller’s time zone unless you set timeZone. Check the next runs in the right zone here.
What are L, W and #?
They come from Quartz and some other schedulers: L means the last day of the month (or 5L for the last Friday), 15W means the weekday nearest the 15th, and 1#2 means the second Monday. Standard Linux cron does not support them.
Last updated · Free, no sign-up, runs in your browser.