Cron expression generator
Type a cron expression, or start from a preset, and see what it means in words together with the next five times it will run. It reads the standard five fields: minute, hour, day of month, month and day of week.
Runs in your browser: nothing you enter is sent anywhere.
How to use it
- Type an expression such as
30 9 * * 1-5, or press a preset.
- Read the meaning under Meaning; here it says “At 09:30, on Monday through Friday”.
- Check the next five run times. Use the UTC option to compare with a server clock.
How it works
The expression is split into five fields. Each field is turned into the exact set of allowed values: */15 in the minute field is 0, 15, 30 and 45; 1-5 in the weekday field is Monday to Friday. To find the next runs, the tool steps through days starting today and lists every hour and minute combination that is allowed, until it has five times after the current moment.
Examples
| Expression |
Meaning |
*/5 * * * * |
Every 5 minutes |
0 0 1 * * |
At 00:00, on day 1 of the month |
0 9,17 * * mon |
At minute 0 past hour 9 and 17, on Monday |
@daily |
At 00:00 (same as 0 0 * * *) |
Tips
- Cron has no “every other week”; use a script check or a scheduler that supports it.
- A job set for day 31 skips months that do not have 31 days, and 29 February runs only in leap years.
Frequently asked questions
What are the five fields of a cron expression?
In order they are minute (0–59), hour (0–23), day of month (1–31), month (1–12 or JAN–DEC) and day of week (0–7 or SUN–SAT, where both 0 and 7 mean Sunday).
What do the special characters mean?
An asterisk means every value, a comma separates a list (1,15), a hyphen makes a range (1-5) and a slash sets a step (*/10 means every 10th value, 10-30/5 every 5th from 10 to 30).
What happens when both day of month and day of week are set?
In standard cron the job runs when either one matches, not both. For example 0 0 13 * 5 runs on the 13th of every month and also on every Friday.
Does this support seconds or special syntax like L, W and #?
No. It handles the classic five-field format used by Unix cron and many schedulers. Quartz and other 6- or 7-field formats with seconds, years, L, W or # are not supported. The aliases @hourly, @daily, @weekly, @monthly and @yearly are.
Which time zone are the run times in?
Your device's local time zone by default, or UTC if you tick the option. A real cron daemon uses the server's own time zone, so check that setting where the job runs.