How to use the Cron Expression Generator tool
- Type a cron expression, for example 0 9 * * 1-5, or pick one from the list.
- Choose your local time or UTC, which most servers use.
- Check the description and the next run times, then copy the line into crontab.
The five fields
A 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 both 0 and 7 mean Sunday).
*means every value.1-5is a range,1,15a list.*/10means every 10th value, starting from the lowest.- Shortcuts: @hourly, @daily, @weekly, @monthly, @yearly.
The mistakes we see most often
- Time zone. Cron uses the server’s time zone, which is usually UTC on cloud servers and in GitHub Actions. A job set for 09:00 may run at 14:00 local time.
- Day of month and day of week together. If both are set, cron runs when either matches.
0 0 13 * 5runs on every 13th and on every Friday, not only on Friday the 13th. - Every minute by accident.
* 2 * * *runs 60 times between 02:00 and 02:59. You almost always want0 2 * * *. - Daylight saving time. Jobs scheduled between 01:00 and 03:00 local time can be skipped or run twice when clocks change. Schedule critical jobs outside that window or use UTC.
- Environment. Cron runs with a minimal PATH and no shell profile. Use full paths and redirect output to a log:
… /usr/local/bin/backup.sh >> /var/log/backup.log 2>&1.
Privacy
Everything runs in your browser. Nothing you type is sent to our server or stored.
Frequently asked questions
How do I run a job every 5 minutes?
*/5 * * * *
How do I run a job on weekdays at 9 am?
0 9 * * 1-5
Does it support seconds or Quartz syntax?
No. It follows standard 5-field cron, used by Linux crontab, Kubernetes CronJobs and GitHub Actions. Quartz and Spring add a seconds field and extras like L and #.
Why is my cron job not running?
Check the cron service is running, the script is executable, paths are absolute, and look in the system log (grep CRON /var/log/syslog or journalctl -u cron).