Cron expression helper. Schedules in plain English.
Everything is parsed and computed locally in this browser, nothing is uploaded.
Field-by-field breakdown
Next 5 run times
Computed locally in your timezone (). Nothing is uploaded.
Cron, decoded
A cron expression is five space-separated fields, minute, hour, day-of-month, month, day-of-week, and each accepts numbers, names (jan, mon), ranges (1-5), lists (1,15) and steps (*/5). Both 0 and 7 mean Sunday, and when both day fields are restricted the classic Vixie-cron rule applies: the job fires when either matches. This helper validates each field with a specific error message, translates the whole schedule into a sentence you can sanity-check, and walks the calendar forward to show the next five real fire times in your timezone. No account, nothing uploaded, free forever.
How to use the Cron Expression Helper
This helper reads a standard 5-field cron expression, checks each field and writes the schedule out as a sentence. It then steps forward through the calendar one minute at a time, starting from the next whole minute, and lists the next five times the job would run in your own time zone. Use it to check a crontab line before you deploy it, or to work out what an old one does.
Step by step
-
Type or paste an expression
Enter five fields separated by spaces in the Cron expression box, in this order: minute, hour, day of month, month, day of week. The box starts with 0 9 * * 1-5. The page updates a moment after you stop typing.
-
Or start from a preset
Click one of the twelve chips under the box, such as Every 5 min, Weekdays 9am, Monthly 1st or Quarterly. Each chip shows the expression it loads, and you can edit it from there.
-
Use the allowed syntax
Each field takes * for every value, a number, a range like 1-5, a list like 1,15, or a step like */5 or 2-10/2. Months and weekdays also take names such as jan or mon. Valid numbers are minute 0 to 59, hour 0 to 23, day of month 1 to 31, month 1 to 12 and day of week 0 to 7, where both 0 and 7 mean Sunday.
-
Read the sentence
Check the line under in plain english against what you meant. If a field is wrong, the line turns red, starts with a cross and names the field and the problem, for example that 60 is out of range for Minute.
-
Confirm the run times
Look at Next 5 run times to see the actual dates and times, each with a countdown such as in 3h or in 2d. Then read Field-by-field breakdown if you need to see the exact values each field expands to.
Reading the result
- The default 0 9 * * 1-5 reads as: At 09:00 on Monday, Tuesday, Wednesday, Thursday and Friday.
- The five small boxes under the sentence repeat your fields with the labels min, hour, dom, month and dow. They turn red when the expression has an error.
- Field-by-field breakdown shows each raw field and what it expands to. For the default, Day of week shows 1-5 expanding to Monday through Friday (5 values), and * shows as Every day of month or Every month.
- Next 5 run times are shown in the time zone named under the list, which is your browser's time zone, not the server's.
- If no match turns up within about four years, the list says the schedule may be impossible, for example a February 30th.
Tips and common mistakes
- Your server may run cron in UTC. If the next run times look a few hours off, the server time zone is the likely cause, not the expression.
- When both day of month and day of week are set, the job runs when either one matches. 0 0 1 * 1 runs on the 1st of each month and also every Monday, not only on Mondays that fall on the 1st.
- This helper takes exactly five fields. Six or seven field formats with seconds or years, and shortcuts like @daily, show an error.
- Write */15 for every 15 minutes. A bare 15 in the minute field means once an hour, at 15 past.
- Schedulers often log the last run as a Unix timestamp. The site's Unix epoch converter turns that into a date you can compare with this list.
Privacy and limits
Parsing, the sentence and the run times are all worked out in your browser. Nothing you type is sent anywhere and nothing is saved, so the box returns to 0 9 * * 1-5 when you reload. The search for upcoming runs stops after about four years of minutes.
Everything a cron helper should do.
Frequently asked questions.
Is the Cron Expression Helper free?
Is it private? Is my expression uploaded anywhere?
What cron syntax does it support?
How are the next run times computed?
Does it work offline?
Published · Last updated .