Cron expression generator
Build and explain common Cron expressions.
How to use
A standard Cron expression has five fields separated by spaces, in this order: minute (0–59), hour (0–23), day of month (1–31), month (1–12) and day of week (0–7, where both 0 and 7 mean Sunday). Choose a preset or type an expression, and Explain checks it and shows what each field means in a table.
Each field accepts * for every value, a single number, a range such as 1-5, a list such as 1,15 and a step such as */15 or 0-30/10. Steps count from the start of the range, so */15 in the minute field means minutes 0, 15, 30 and 45, and */7 in the day-of-month field means days 1, 8, 15, 22 and 29, starting again every month.
When both the day of month and the day of week are set to something other than *, standard Cron runs the job when either one matches, not only when both do. 0 9 13 * 5 runs at 09:00 on every 13th of the month and on every Friday, not just on Friday the 13th.
Cron uses the time zone of the machine or service that runs it. Many hosted schedulers use UTC by default (GitHub Actions does unless the schedule sets a time zone), so 0 9 * * * fires at 10:00 or 11:00 in Paris or Berlin, and at 09:00 or 10:00 in Lisbon or London. Around daylight-saving changes, a job scheduled in the hour that is skipped or repeated may not run, or may run twice, depending on the implementation.
This tool checks the portable numeric format. It does not accept month or day names (JAN, MON), the special characters L, W, # and ?, shortcuts such as @daily, or a seconds or year field, and it does not list the next run times. Check the documentation of your scheduler for what it adds.
Example
*/15 * * * * means every 15 minutes. The scheduler determines the time zone; this tool does not schedule a job.
0 9 * * *Every day at 09:00.0 9 * * 1-5At 09:00, Monday to Friday.*/15 * * * *Every 15 minutes: at minutes 0, 15, 30 and 45 of every hour.0 0 1 * *At midnight on the first day of every month.30 18 * * 0,6At 18:30 on Saturdays and Sundays.
Frequently asked questions
Does this support six-field Cron with seconds?
No. The tool uses the portable five-field format. Some platforms, such as Quartz and Spring, put a seconds field first, and others add a year at the end.
Can I use names such as MON or JAN?
No. Use numeric values: 0–7 for weekdays and 1–12 for months.
How do I run a job on the last day of the month?
Standard five-field Cron cannot express it directly. Common workarounds are running on days 28–31 and letting the job check whether tomorrow is the 1st, or using a scheduler that supports L.
Why did my job run at the wrong hour?
Usually because the scheduler uses UTC or a different time zone from yours. Convert the hour, or set the scheduler’s time zone if it allows it.