Cron Expression Generator
Build and check cron expressions. See what they mean in plain English and the next 10 run times in any time zone, with daylight saving applied.
Cron Expression Generator: the tool
Next 10 runs
Calculating…
Use it
*/15 9-17 * * 1-5 /path/to/command*/15 9-17 * * 1-5Cron runs on the server's clock and time zone. Check which one your system uses (often UTC), and choose the same zone here to see the real run times.
How to use Cron Generator
- Pick a preset, type an expression, or edit the five fields: minute, hour, day of month, month and day of week.
- The sentence under the box says in plain English when the job runs. Mistakes are explained and point to the field that is wrong.
- Choose the time zone your server uses, which is often UTC, to see the next 10 run times in that zone.
- Copy the crontab line or the bare expression.
Example
A schedule for business hours: every 15 minutes between 09:00 and 17:59 on weekdays, and its next runs from a Friday morning.
*/15 9-17 * * 1-5
Every 15 minutes, between 09:00 and 17:59, on Monday through Friday Next runs after 2026-11-06 10:05 UTC (a Friday): 2026-11-06 10:15 2026-11-06 10:30 2026-11-06 10:45 2026-11-06 11:00 2026-11-06 11:15
About this tool
A standard cron expression has five fields separated by spaces: minute (0 to 59), hour (0 to 23), day of month (1 to 31), month (1 to 12 or JAN to DEC) and day of week (0 to 6 or SUN to SAT, where 0 and 7 are both Sunday). In each field, * means every value, a,b lists values, a-b is a range and */n or a-b/n steps through it. The shortcuts @hourly, @daily, @weekly, @monthly and @yearly are also accepted.
One rule surprises almost everyone. When both day of month and day of week are restricted, as in 0 0 13 * 5, standard cron runs the job when either matches: on the 13th of the month and on every Friday, not only on Friday the 13th. The tool says so when you write such an expression. It also warns about schedules that never run, such as 31 February.
The next run times are computed from the clock of the zone you choose. When daylight saving time moves the clocks forward, a time inside the gap does not exist and that run is skipped here, and when the clocks go back, a time that happens twice runs once. Real cron implementations differ in these edge cases, so schedule important jobs away from the clock change hour, or run the server in UTC. Seconds, years and the Quartz or Spring formats with 6 or 7 fields are not supported, and the tool says so if you paste one.
Cron field syntax
| Field | Allowed values | Special characters |
|---|---|---|
| Minute | 0-59 | * , - / |
| Hour | 0-23 | * , - / |
| Day of month | 1-31 | * , - / |
| Month | 1-12 or JAN-DEC | * , - / |
| Day of week | 0-6 or SUN-SAT (0 and 7 are Sunday) | * , - / |
Frequently asked questions
What does */5 * * * * mean?
Every 5 minutes: the minute field */5 selects 0, 5, 10 and so on up to 55, and every other field is *, which means any value.
Why does my job run on days I did not expect?
Probably because both the day of month and the day of week are set. In standard cron that means either one matches. To run only on Friday the 13th, schedule the job for every Friday and check the date inside the script.
Which time zone does cron use?
The one of the machine that runs it, unless your scheduler lets you set one. Many servers use UTC, and many cloud schedulers also use UTC. Select that zone in the tool to see the real run times.
Does this support Quartz, Spring or AWS expressions?
No. Those formats have a seconds field, a year, or special characters such as ?, L and #. The tool detects a 6 or 7 field expression and explains the difference. For Quartz, drop the seconds field and replace ? with *.
What is @reboot?
A cron shortcut that runs a job once when the system starts. It has no schedule, so it cannot be explained or previewed here.
What happens when the clocks change?
Implementations differ. This tool skips a run that falls in the hour that does not exist when clocks go forward, and counts a repeated hour once when they go back. If a job must run exactly once a day, avoid the hour of the change or use UTC.
More developer tools
- ISOTimestamp ConverterRead a date in ISO 8601, RFC 2822 or Unix form and see it in every common format and in other time zones.
- 1714Unix Timestamp ConverterConvert Unix timestamps to dates and dates to timestamps. Seconds, milliseconds, microseconds and nanoseconds are detected, and the current Unix time is always shown.
- .*Regex TesterTest JavaScript regular expressions with live highlighting, capture groups, named groups and replacement. A pattern that runs too long is stopped instead of freezing the page.
- #UUID GeneratorGenerate random v4 and time-ordered v7 UUIDs in bulk, in the format you need. They are created in your browser with a secure random source.