Cron Expression Explainer
Read any cron schedule in plain English.
Cron Expression Explainer at a glance
Cron Expression Explainer is a free online developer tool you can use right now to read any cron schedule in plain English โ no account, no install and no usage limit. It runs entirely inside your browser, so whatever you enter stays on your own device.
- Price
- Free โ no trial, no paid tier, no watermark
- Sign-up
- Not required
- Where it runs
- In your browser โ nothing is uploaded to a server
- Works on
- Chrome, Safari, Firefox and Edge โ desktop, tablet and phone
- Category
- Developer Tools
| Field | Value | Meaning |
|---|---|---|
| Minutes | 0 | minute 0 |
| Hours | 9 | hour 9 |
| Day of month | * | every day-of-month |
| Month | * | every month |
| Day of week | 1-5 | weekday MondayโFriday |
Calculatingโฆ
About Cron Expression Explainer
Paste a cron expression and get a plain-English description of when it runs, so you can confirm a schedule before committing it.
The standard five fields are minute, hour, day of month, month and day of week, in that order. Most confusion comes from the operators rather than the fields: an asterisk means every value, a slash defines a step so */15 in the minute field means every fifteen minutes, a comma lists specific values and a hyphen gives a range.
The genuinely counterintuitive part is how day-of-month and day-of-week interact. When both are set to something other than an asterisk, cron runs the job if either matches โ an OR, not an AND. So an expression specifying the 1st of the month and Monday runs on every 1st and additionally on every Monday, which is usually not what the author intended. If you want a job on the first Monday of the month, cron alone cannot express it; you need a day-of-week schedule plus a date check inside the job.
Two operational cautions. Cron typically runs in the server's timezone, which is frequently UTC and rarely stated in the expression itself โ a job set for 09:00 may run at a very different local hour, and daylight-saving transitions can cause a job to run twice or not at all. And a schedule of */90 in the minute field does not mean every ninety minutes; step values only cycle within a field's own range, so it simply means minute 0.
How to use Cron Expression Explainer
- Paste your cron expression.
- Read the plain-English description of the schedule.
- Check the next run times to confirm it matches what you intended.
Frequently asked questions
What do the five fields mean?
In order: minute, hour, day of month, month, day of week. An asterisk means every value, a slash sets a step, a comma lists values and a hyphen gives a range.
Why does my job run more often than expected?
Most likely because you set both day-of-month and day-of-week. Cron treats those as OR, not AND, so a schedule naming the 1st and Monday runs on every 1st and on every Monday.
How do I schedule the first Monday of the month?
Standard cron cannot express it. Schedule it for every Monday and add a check at the start of the job that exits unless the date is 7 or lower.
Which timezone does cron use?
Usually the server's, which is often UTC and is not part of the expression. Confirm the server timezone before relying on a specific local time, and be aware that daylight-saving transitions can cause a job to run twice or be skipped.