Build a cron schedule, read it in plain English, and see when it runs next.
A standard cron expression has five fields separated by spaces. Each field accepts the values and special characters below.
| Field | Allowed values | Example |
|---|---|---|
| Minute | 0–59 | 30 = at minute 30 |
| Hour | 0–23 | 14 = 2 PM |
| Day of month | 1–31 | 1,15 = the 1st and 15th |
| Month | 1–12 or JAN–DEC | JAN-MAR = January to March |
| Day of week | 0–7 or SUN–SAT (0 and 7 are Sunday) | 1-5 = Monday to Friday |
| Symbol | Meaning | Example |
|---|---|---|
* | Every value | * * * * * = every minute |
, | A list of values | 0,30 = minute 0 and 30 |
- | A range of values | 9-17 = hours 9 to 17 |
/ | A step | */10 = every 10th minute |
Cron started as the job scheduler on Unix systems, where each user has a crontab file with one schedule per line. Today the same five-field format is used far beyond Linux servers. Kubernetes CronJobs, GitHub Actions scheduled workflows, GitLab CI pipelines, Vercel cron jobs, and many cloud schedulers all accept standard cron expressions.
The most common mistake with cron is the time zone. Most servers and cloud services run cron in UTC, not in your local time. A job written as 0 9 * * * on a UTC server runs at 9 AM UTC, which may be the middle of the night where you live. Use the time zone switch above to check the next run times in UTC before you deploy.
Another common surprise is the day-of-month and day-of-week rule. When both fields have a value, cron runs the job when either one matches, not only when both match. For example, 0 0 13 * 5 runs on every 13th of the month and also on every Friday, not only on Friday the 13th.
A cron expression is a short line of five fields that tells a scheduler when to run a job. The fields are minute, hour, day of month, month, and day of week. For example, 0 9 * * 1-5 means at 09:00 every Monday to Friday. Cron is used by Linux crontab, Kubernetes CronJobs, GitHub Actions, and many cloud schedulers.
The slash sets a step. */5 in the minute field means every 5th minute: 0, 5, 10, 15 and so on up to 55. You can also combine a step with a range, so 0-30/10 in the minute field means minutes 0, 10, 20 and 30.
A cron job runs in the time zone of the machine or service that runs it. Many servers and cloud schedulers, including GitHub Actions, use UTC. This tool can show the next run times in your local time or in UTC, so you can check the schedule for the place where your job actually runs.
In standard cron, if both the day-of-month and the day-of-week fields are restricted, the job runs when either one matches. For example, 0 0 1 * 1 runs on the 1st of every month and also on every Monday. If one of the two fields starts with *, both must match. This tool follows the same rule when it lists the next run times.
No. This tool uses the standard 5-field cron format used by Linux crontab, Kubernetes, and GitHub Actions. Quartz and Spring use 6 or 7 fields with seconds and special characters like ? and #, which are not supported here. The tool also accepts the shortcuts @hourly, @daily, @weekly, @monthly, and @yearly.