Cron Expression Generator
This free cron expression generator builds crontab schedules from simple dropdowns, explains any cron expression in plain English and shows its next five run times in your time zone.
Runs in your browser. Nothing you type is sent to us.
What is a cron expression?
A cron expression is five fields that tell cron when to run a job: minute, hour, day of the month, month and day of the week. 15 3 * * 1 means 03:15 every Monday.
Each field takes a number, a * for every value, a list (1,15), a range (1-5) or a step (*/10 for every 10th). The month and weekday fields also accept names like JAN or MON.
The crontab line format
In a crontab file, each line is the five schedule fields followed by the command: m h dom mon dow command. For example, 0 3 * * * /usr/local/bin/backup.sh runs a backup every night at 03:00.
Edit yours with crontab -e. Cron runs jobs in the server's time zone, which is often UTC, so check it with the date command before you pick a time. The next run times we show use your browser's time zone.
Day of the month and day of the week together
When both day fields are restricted, classic cron runs the job when either one matches, not when both do. 0 0 13 * 5 runs at midnight on every 13th and on every Friday, not only on Friday the 13th.
If either day field starts with *, the job only runs on days that match the other one. We follow the same rules as Vixie cron and cronie, the cron you'll find on most Linux servers.
Shortcuts like @daily and @reboot
@hourly, @daily (or @midnight), @weekly, @monthly and @yearly (or @annually) are shorthand for common schedules. @weekly, for example, is the same as 0 0 * * 0: midnight every Sunday.
@reboot is different. It runs a job once when the cron daemon starts, which usually means when the server boots, so it has no next run times.
Using cron in n8n and other tools
n8n's Schedule Trigger accepts the same five-field syntax in its custom cron mode, so you can build an expression here and paste it straight in. Many CI pipelines and job schedulers use it too.
Some tools, such as Quartz and Spring, add a seconds field at the front, which makes six fields. This generator sticks to the classic five that crontab uses.
Frequently asked questions
What does */5 mean in cron?
Every 5th value of that field. In the minute field, */5 runs at minutes 0, 5, 10 and so on, so the job runs every 5 minutes.
Is Sunday 0 or 7 in cron?
Both. Classic cron accepts 0 and 7 for Sunday, and SUN works too.
What time zone does cron use?
The server's local time zone, unless your cron supports a CRON_TZ setting. Many servers run on UTC, so 0 9 * * * may fire at 09:00 UTC rather than 09:00 where you are.
Why didn't my cron job run?
The usual suspects: a relative path that works in your shell but not in cron's minimal environment, a script that isn't executable, or a % sign in the command, which cron treats as a new line unless you escape it with a backslash. Send the output to a log file to see the error.
Can cron run a job every 30 seconds?
Not on its own, because the smallest unit is one minute. A common workaround is two entries, one of which starts with sleep 30, or a systemd timer.