Cron Expression Explainer & Next Run Calculator
Translate crontab syntax like */5 4 * * * into plain English, edit the schedule visually, and see the next execution dates in any time zone. Free, no sign-up, runs in your browser.
New to cron? Choose a schedule from Examples… and edit it, or read the quick guide and the syntax reference.
How to use this tool
1. Enter an expression
Type a cron expression such as */5 4 * * * in the big box, or choose one from Examples…. The plain-English sentence appears instantly.
2. Read each field
Below the sentence, every one of the five fields has its own colored card explaining what it means and which values it expands to.
3. Click to edit visually
Each card shows a grid of every possible value. Click a cell to turn it on or off and the expression rewrites itself. You can also type in the five small field boxes.
4. Check the next runs
The calculator lists the next 5, 10 or 20 execution dates. Pick a time zone, or set a start time to look ahead from any date.
5. Review the findings
Warnings flag common pitfalls such as the day-of-month OR rule, uneven step gaps and runs that fall inside daylight-saving changes. Use Share link to send the schedule to a teammate.
What is cron and a cron expression?
Cron is the classic Unix job scheduler. You list commands and the times they should run in a file called a crontab, and the cron daemon runs them automatically: nightly backups, hourly reports, weekly cleanups, monthly invoices.
Each line of a crontab starts with a cron expression: five space-separated fields that describe the schedule, followed by the command. The expression is compact but cryptic, which is why */5 4 * * * is hard to read at a glance. This tool translates it into a sentence and shows exactly when it will fire next.
The same syntax is used far beyond Unix: Kubernetes CronJobs, GitHub Actions schedule triggers, GitLab pipelines, Jenkins, CI services, and scheduler libraries in Node.js, Python, Java and Go. Details differ slightly between platforms (seconds, time zone, extra characters), so check the documentation for yours.
Cron syntax reference
The five fields
| # | Field | Allowed values |
|---|---|---|
| 1 | Minute | 0-59 |
| 2 | Hour | 0-23 |
| 3 | Day of month | 1-31 |
| 4 | Month | 1-12 or JAN-DEC |
| 5 | Day of week | 0-7 or SUN-SAT (0 and 7 are Sunday) |
Special characters
| Symbol | Meaning | Example |
|---|---|---|
* | Every value | * * * * * every minute |
, | List of values | 0 9,17 * * * at 09:00 and 17:00 |
- | Range | 0 9 * * 1-5 weekdays at 09:00 |
/ | Step | */15 * * * * every 15 minutes |
@daily | Shortcut | also @hourly, @weekly, @monthly, @yearly |
Common cron schedules
Click an expression to load it into the explainer.
| Expression | Runs |
|---|---|
| Every minute | |
| Every 5 minutes | |
| Every hour, on the hour | |
| Every day at midnight | |
| Every day at 02:30 | |
| Weekdays at 09:00 | |
| Every Sunday at midnight | |
| First day of every month | |
| Start of every quarter | |
| Every 15 minutes, 09:00-17:59, weekdays | |
| Once a year, on January 1st |
Common cron mistakes
Time zones
Cron uses the time zone of the server or platform, often UTC. A job set for 09:00 may run at a different local time than you expect. Preview the schedule in the zone you care about.
Day-of-month OR day-of-week
If both fields are restricted, cron runs when either matches. 0 0 13 * 5 runs on the 13th and on every Friday, not only on Friday the 13th.
Uneven steps
*/7 in the minute field runs at 0, 7, 14 ... 56 and then 0 again, so the last gap is only 4 minutes. Steps only stay even when they divide the range.
Short months
Day 31 is skipped in months with 30 days or fewer, and day 29 in February only exists in leap years.
Daylight saving time
Jobs scheduled between 01:00 and 03:00 may be skipped or run twice when clocks change in a zone with DST. Prefer UTC for critical jobs.
Percent signs in crontab
In a crontab line, an unescaped % in the command is treated as a newline. Escape it as \%, for example in date +\%F.
Frequently asked questions
What is a cron expression?
A cron expression is a short string of five fields (minute, hour, day of month, month, day of week) that tells a scheduler when to run a job. For example, 30 2 * * 1 means 02:30 every Monday.
What does */5 4 * * * mean?
It runs every 5 minutes, but only during the 4 AM hour: at 04:00, 04:05, 04:10 and so on up to 04:55, every day. The */5 in the minute field means every 5th minute, and the 4 in the hour field limits it to hour 4.
What happens when both day of month and day of week are set?
Standard cron runs the job when either field matches, not both. So 0 0 13 * 5 runs on every 13th and on every Friday. If one of the two fields is *, the other one alone decides.
Which time zone do cron jobs use?
The time zone of the machine or service running the scheduler, which is often UTC on servers and cloud platforms. Use the time zone selector to preview the same schedule in different zones, and check your platform documentation for the zone it uses.
Does this support seconds, Quartz or AWS syntax?
It supports standard 5-field cron and an optional 6-field mode with a leading seconds field (as used by Spring, node-cron and others). Quartz extras such as L, W, # and a year field, and AWS EventBridge syntax, are not supported.
Is my data sent anywhere?
No. Parsing, explaining and calculating run entirely in your browser. The Share link stores only the expression and settings in the URL.