Enter */15 9-17 * * 1-5 and you get the sentence “Every 15 minutes, between 09:00 AM and 05:59 PM, Monday through Friday”, followed by the actual dates and times the job would run. Use it to confirm an expression reads the way you meant before you put it on a server.
How to use it
- Type an expression into the Cron expression box. It starts out as
0 9 * * 1-5. The note under the box tells you whether it was read as “5 fields” or “6 fields (seconds first)”. - Description shows the expression written out as a sentence. “Copy expression” copies the tidied-up expression. If you entered a macro, it copies the expanded fields instead (for example,
@daily→0 0 * * *). - Under Next run times, set “Count” (1–20) and “Time zone”. Run times from now onward are listed as dates and times in that zone.
- Under Field reference & cheat sheet, clicking a button in “Common macros” or “Examples” puts that expression into the input box.
When the syntax is wrong, the error names the field and the value that caused it. Enter 60 * * * * and you see this message: “60” in the minute field is outside the allowed range.
Field syntax
Fields are separated by spaces, and there must be 5 or 6 of them. Five are read as minute, hour, day of month, month, day of week. With six, the first one is read as seconds.
| Field | Values |
|---|---|
| Second (only with 6 fields) | 0-59 |
| Minute | 0-59 |
| Hour | 0-23 |
| Day of month | 1-31 |
| Month | 1-12 or JAN-DEC |
| Day of week | 0-7 (both 0 and 7 mean Sunday) or SUN-SAT |
Each field accepts these forms.
*: every value5: that one value1-5: a range. A start that is larger than the end (5-1) is an error*/15: an interval. In the minute field, minutes 0, 15, 30 and 455/15: an interval with a starting value. In the minute field, every 15 minutes from minute 5 (5, 20, 35, 50)10-40/10: an interval inside a range. In the minute field, minutes 10, 20, 30 and 401,15: a comma-separated list. You can mix any of the forms above in one list
Seven macros are understood. @yearly and @annually stand for 0 0 1 1 *, @monthly for 0 0 1 * *, @weekly for 0 0 * * 0, @daily and @midnight for 0 0 * * *, and @hourly for 0 * * * *. @reboot means “run once when the system starts”, which leaves no time to calculate, so it is not read.
When you set both day of month and day of week
Put something other than * in both fields and the job runs on days that match either one, not only on days that match both. This is the Unix cron rule described in the crontab manual, and it is how this tool calculates the next run times.
0 0 13 * 5 does not mean Friday the 13th. Calculated on October 10, 2026 with the time zone set to UTC, the list goes Tuesday, October 13, then Friday, October 16, then Friday, October 23. The job runs on the 13th whatever the weekday, and on every Friday whatever the date.
The description for this expression reads “At 12:00 AM, on day 13 of the month, and on Friday”, which can sound as though both conditions have to be met. So for an expression like this, a note under the description says the job runs on days that match either one. Check the actual dates in the list of next run times.
Time zones with daylight saving time (DST)
Choose a time zone that observes daylight saving time and the run times on the days the clocks change look different from usual. These results were calculated for America/New_York with 2026 dates.
- A time that doesn’t exist on the day DST starts: on March 8 the clock jumps from 2 AM to 3 AM, so there is no 2 o’clock hour.
30 2 * * *(every day at 2:30 AM) shows 3:30:00 AM on that day only, and goes back to 2:30:00 AM the next day. The run isn’t skipped. It is shown one hour later. - A time that comes twice on the day DST ends: on November 1 the 1 o’clock hour happens twice. An expression that fixes the hour as a number, such as
30 1 * * *, shows 1:30:00 AM just once that day. An expression where the hour is*, such as0 * * * *, shows 1:00:00 AM twice.
How a real scheduler handles these times depends on the program. If you have a job that runs between 1 AM and 3 AM, check your server’s cron documentation too.
