Cron Expression Generator
Pick when a job should run and get a valid cron expression with its next run times.
Paste a cron expression to translate it into plain English, see how each field is read and list the next runs in the time zone your server uses.
| Field | Value | Matches |
|---|
| Symbol | Meaning | Example |
|---|---|---|
| * | Every value | * * * * *: every minute |
| , | A list of values | 0,30 * * * *: at :00 and :30 |
| - | A range of values | 0 9-17 * * *: on the hour from 09:00 to 17:00 |
| / | Step values | */10 * * * *: every 10 minutes |
| JAN–DEC | Month names | 0 0 1 JAN,JUL *: 1 January and 1 July |
| SUN–SAT | Day names; 0 and 7 both mean Sunday | 0 9 * * MON-FRI: weekdays at 09:00 |
| @daily | Macro for 0 0 * * *; also @hourly, @weekly, @monthly and @yearly | @daily: every day at midnight |
SensaCat gives every scheduled job a heartbeat URL and alerts your team by email, Slack or Discord when a ping is late or reports a failure.
It is a step value. */15 in the minute field means every 15 minutes starting from 0: :00, :15, :30 and :45. 10-50/20 means every 20 minutes between 10 and 50: :10, :30 and :50.
@yearly (or @annually), @monthly, @weekly, @daily (or @midnight) and @hourly. @reboot is also valid in a crontab, but it runs once when the cron daemon starts, so it has no next run time.
No. It follows standard Unix cron with five fields. Expressions with six or seven fields, or Quartz symbols such as ?, L, W and #, are reported as errors.
Cron uses the server’s time zone. Make sure the time zone selector matches the machine or scheduler that runs the job, especially around daylight saving changes.
Pick when a job should run and get a valid cron expression with its next run times.
Check a whole crontab for syntax errors and the mistakes that make jobs fail silently.
Get the expected interval and grace period to monitor a cron job without false alarms.