What this tool does
You paste or type a cron expression, choose where it will run, and the tool does four things. It reads the expression in plain English. It shows each of the five fields (or six or seven for Quartz) and what it selects. It lists the next run times in the time zone you choose, with the first one also in UTC. And when the expression is valid for Linux or Mac, it shows the form you would write for Quartz. If something is wrong, it says in plain words which field and why, instead of silently accepting it.
Everything runs in your browser. The expression is not sent to any server. The address of the page changes as you type, so you can copy the link and send a particular schedule to a colleague.
How to read a cron expression
A standard expression has five fields: minute, hour, day of the month, month and day of the week. A star means every value. A comma makes a list, a hyphen a range, and a slash a step. So */15 9-17 * * 1-5 reads "every 15 minutes, from 09:00 to 17:59, Monday to Friday". The guide on cron syntax has the full table, and the guide on step values explains why */45 is not what it looks like.
Four traps that this tool warns about
- Two day fields. If you set both the day of the month and the day of the week, cron runs the job when either one matches.
0 9 13 * 5is not Friday the 13th. - Steps that restart.
*/45in the minute field runs at minute 0 and 45 of every hour, so the gaps are 45 and then 15 minutes. - Time zones. A server on UTC runs
0 9 * * *at 09:00 UTC, which is 14:30 in India. - Clock changes. Where the clocks change, an hour can be missing or happen twice, and the job is skipped or runs twice.
Which type to choose
| Type | Fields | Weekday numbers | Notes |
|---|---|---|---|
| Linux or Mac crontab | 5 | 0-7, Sunday 0 or 7 | @daily style shortcuts allowed |
| GitHub Actions | 5 | 0-6 | UTC by default, at most every 5 minutes |
| Kubernetes CronJob | 5 | 0-6 | ? means *, shortcuts allowed |
| Quartz | 6 or 7 | 1-7, Sunday 1 | seconds first, ? L W # |
Frequently asked questions
Does the tool send my expression anywhere?
No. The tool is plain JavaScript on the page. It works offline once the page is loaded.
Why does it show times in my time zone and not the server's?
You choose the zone. If your server is on UTC, pick UTC and the list shows exactly what the server will do. Pick your own zone to see when you will see the result.
Can it check an expression for AWS, Azure or Jenkins?
Those systems have their own cron dialects (AWS EventBridge has six fields, for example) that this tool does not cover. Check their documentation. The Linux, GitHub Actions, Kubernetes and Quartz types are the ones tested here.
Is the result guaranteed?
The tool follows the documentation of each system and was tested against an independent library, but hosted schedulers add their own delays. Test where the job will run.
This is an independent guide and tool. It is not connected with crontab.guru, Quartz, GitHub, Kubernetes, Spring or the Linux projects named here. Product names belong to their owners.