Cron expression generator

Type a 5-field cron expression or pick a common schedule. You get a plain-English description and the exact times it will run next.

Private: works in your browser, nothing is uploaded.

How to use the Cron Expression Generator tool

  1. Type a cron expression, for example 0 9 * * 1-5, or pick one from the list.
  2. Choose your local time or UTC, which most servers use.
  3. 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-5 is a range, 1,15 a list.
  • */10 means 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 * 5 runs 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 want 0 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).