Build a schedule
Days 29–31 are skipped in months that are shorter.
Type any standard cron expression below, or start from a common one:
minute · hour · day of month · month · day of week
Next runs
Field by field
| Field | Value | Means |
|---|
How to use the cron generator
- Pick how often the job should run and fill in the time, or choose Custom and type or paste an expression.
- Read the plain-English summary and the next run times to check it does what you meant. Mistakes are explained, field by field.
- Copy the expression into your crontab (
crontab -e), followed by the command to run.
The five fields
A cron expression has five fields separated by spaces: 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). In each field:
*means every value;1,15is a list, and1-5a range;*/10means every 10th value from the start, and5/15every 15th from 5;- shortcuts such as
@daily,@hourlyand@rebootstand for a whole expression.
One rule surprises almost everyone: when both day of month and day of week are restricted, the job runs on days that match either. 0 0 13 * 5 runs on the 13th of every month and on every Friday, not only on Friday the 13th.
Which cron is this?
This tool follows standard Unix cron as implemented by Vixie cron and cronie, the cron on Debian, Ubuntu, Red Hat and most Linux servers. Other schedulers use similar but different syntax, so an expression that is valid here may not be valid there:
- Kubernetes CronJob uses the same five fields; set the time zone with
.spec.timeZone. - GitHub Actions uses five fields too, always in UTC, and does not run schedules more often than every 5 minutes.
- AWS EventBridge adds a sixth field for the year and needs
?in one of the day fields. - Quartz and Spring start with a seconds field and support
L,Wand#, which standard cron does not. This tool reports them instead of guessing.
Time zones
Cron runs jobs in the time zone of the server (or of the crontab’s CRON_TZ/TZ setting), not yours. The next runs are shown in your browser’s time zone or in UTC; pick the one that matches the server. Around daylight-saving changes, cron implementations differ in how they handle times that are skipped or repeated, so avoid scheduling important jobs between 01:00 and 03:00 local time.
Everything is calculated in your browser; nothing you enter is sent to this site.