Next 5 run times (local time)
How to use the Cron Explainer
- Type a cron expression in the field (5 space-separated fields) or click a preset.
- Click Explain to get a plain-English description and the next 5 scheduled run times.
Cron expression format
A standard cron expression has 5 space-separated fields:
| Field | Allowed values | Special characters |
|---|---|---|
| Minute | 0-59 | * , - / |
| Hour | 0-23 | * , - / |
| Day of month | 1-31 | * , - / ? |
| Month | 1-12 | * , - / |
| Day of week | 0-6 (0 = Sunday) | * , - / |
Special characters
*, matches every value in the field*/n, every n units (e.g.*/5in the minutes field = every 5 minutes)a-b, a range (e.g.1-5in the day-of-week field = Monday to Friday)a,b,c, a list of specific values (e.g.0,6in day-of-week = Sunday and Saturday)
Common cron expressions
| Expression | Meaning |
|---|---|
* * * * * | Every minute |
0 * * * * | Every hour, on the hour |
0 0 * * * | Daily at midnight |
0 9 * * 1-5 | Weekdays at 9:00 AM |
0 0 * * 0 | Every Sunday at midnight |
0 0 1 * * | First day of every month at midnight |
*/15 * * * * | Every 15 minutes |
0 0 1 1 * | Once a year (January 1st at midnight) |
Where cron is used
Cron is the standard job scheduler on Unix/Linux systems (crontab -e to edit). It is also used in cloud environments: AWS EventBridge, GitHub Actions schedule trigger, GitLab CI pipelines, Kubernetes CronJobs, and many web hosting control panels (cPanel, Plesk). The syntax is the same across all these environments, with minor variations in some platforms that add a seconds field or use named days.
Platform differences and critical gotchas
Cron syntax is not fully standardised. These differences break jobs when moving between platforms:
| Platform | Fields | Differences from Linux cron |
|---|---|---|
| Linux crontab | 5 (min hour dom month dow) | Reference implementation |
GitHub Actions schedule | 5 | Runs in UTC only. Minimum interval: every 5 min. Jobs may be delayed under high load. |
| AWS EventBridge | 6 (min hour dom month dow year) | Uses ? for "no value" on dom/dow (cannot specify both). Year field added. |
| Quartz Scheduler (Java) | 7 (sec min hour dom month dow year) | Seconds field at position 1. Day-of-week numbering differs: 1=Sunday in Quartz. |
| Kubernetes CronJob | 5 | Standard Linux syntax. Timezone support added in Kubernetes 1.27 (spec.timeZone). |
Timezone trap: Linux cron runs in the server's local timezone. 0 9 * * 1-5 means 9:00 AM server time, not the user's local time. If your server runs in UTC and your users are in CET (UTC+1), the job fires at 10:00 AM for them. Always set CRON_TZ in your crontab or use TZ=Europe/Paris cron to be explicit.
Day-of-month and day-of-week combined: On Linux, if both dom and dow are set (neither is *), the job runs when either condition is true (OR logic), not when both are true. 0 9 1 * 1 runs at 9:00 on both the 1st of the month AND every Monday.