How to use the cron parser
- Paste your expression into Cron expression, for example
*/15 9-17 * * 1-5. - Choose the Time zone your scheduler runs in.
- Set Runs to show (up to 50).
- Optionally change Starting from to see runs after a particular date.
- Read the plain-English Schedule, check the field table, and scan the list of next runs.
What it does and when to use it
Cron syntax is short, and that makes it easy to misread. A single wrong character can turn a nightly job into one that runs every minute, and you will not know until it does. The fastest check is to read the expression back in plain English and look at the actual dates it will fire.
Use the parser to:
- Check a schedule before you add it to a crontab, a CI pipeline or a cloud scheduler.
- Work out what an old cron line in someone else’s config actually does.
- See how a job’s local time maps to UTC, especially around midnight.
- Count how many times a job will run in the next 24 hours.
If you would rather build an expression by picking options, use the Cron Generator. To convert a single run time into a timestamp, try the Unix Timestamp converter. For other developer checks, see the Regex Tester.
How it works
The tool uses two open-source libraries, loaded on demand in your browser:
- cron-parser works out the next run times. It understands 5-field and 6-field expressions, time zones, L, # and macros.
- cronstrue turns the expression into a plain-English sentence.
Each field is checked against its allowed range, and an invalid value is reported with the reason. The field table shows the value, what it means and the allowed range. When both day fields are restricted, the tool warns about cron’s OR rule. Nothing is sent to a server.
Worked examples
Weekdays at 9 am. 0 9 * * 1-5 reads as At 09:00, Monday through Friday. Starting from Friday 2 October 2026 in UTC, the next runs are 2026-10-02 09:00, then 2026-10-05 09:00:00 and 2026-10-06 09:00. The weekend is skipped.
The day-of-week trap. 0 0 1 * 1 looks like “midnight on the first of the month, if it is a Monday”. In fact it runs on the 1st and on every Monday. The tool warns that the job runs when EITHER matches. From 2 October 2026, the next three runs are the Mondays 5, 12 and 19 October.
A local time in another zone. 30 2 * * * in Asia/Kolkata runs at 02:30 India time, which is 2026-10-01T21:00:00Z, the evening before in UTC.
A typo. 61 * * * * is rejected as an Invalid cron expression, because minutes only go up to 59.
Limits and tips
- Different cron systems differ in small ways, for example in support for seconds, L or #. Check your scheduler’s documentation.
- Cron starts a command at a time. It does not check that the last run finished or retry a failure, so slow jobs can overlap.
- Jobs scheduled in an hour skipped or repeated by daylight saving may run zero or two times on those days.
Frequently asked questions
What do the five cron fields mean?
Why did my job run on a day I did not expect?
What is the difference between * and 0 in the minute field?
What time zone does cron use?
Which special characters are supported?
How do we know nothing is uploaded? Test it yourself on the privacy proof page.