Cron Expression Parser
Turn any cron expression into plain English and preview its next scheduled run times β free and instant. Everything is parsed in your browser, so nothing you type is sent to a server.
| Field | Value | Meaning |
|---|
| # | Date and time | When |
|---|
How to use the Cron Expression Parser
- Enter a cron expression. Type a standard five-field cron string into the box, or click one of the preset buttons to load a common schedule as a starting point.
- Read the plain-English description. The tool instantly explains what your expression means, breaks down each of the five fields, and warns you about tricky day-of-month and day-of-week combinations.
- Check the next run times. A list of upcoming execution times in your local timezone confirms the schedule does what you expect before you deploy it.
About this tool
Cron is the time-based job scheduler behind Linux and Unix systems, and cron syntax also drives CI pipelines, container orchestrators, serverless triggers and countless deployment tools. A cron expression is easy to misread β 0 0 * * 0 and 0 0 0 * * look almost identical but mean very different things. This free cron parser removes the guesswork by translating the five fields (minute, hour, day-of-month, month and day-of-week) into a readable sentence and by computing the actual next run times, so you can verify a schedule before it ships.
It understands the full standard syntax: wildcards (*), lists (1,15,30), ranges (MON-FRI), step values (*/10), three-letter month and weekday names, and the common shorthand macros such as @hourly, @daily, @weekly, @monthly and @yearly. All parsing and date math happen entirely in your browser β nothing is uploaded, so it is safe for internal job definitions and works offline once the page has loaded. Next-run times are calculated in your device's local timezone.
Frequently asked questions
What do the five cron fields mean?
In order they are minute (0β59), hour (0β23), day of month (1β31), month (1β12 or JANβDEC) and day of week (0β7 or SUNβSAT, where both 0 and 7 mean Sunday). Each field accepts a single value, a comma list, a range, a step like */5, or * for "every". This parser uses the classic 5-field format, not the optional 6-field variant with a leading seconds field.
Why do day-of-month and day-of-week behave strangely together?
When both the day-of-month and the day-of-week fields are restricted (neither is *), standard cron runs the job when either one matches, not both. For example 0 0 1 * MON fires on the 1st of every month and on every Monday. The tool shows a note whenever your expression triggers this OR behavior so the next-run list makes sense.
What timezone are the next run times shown in?
They use your device's local timezone, the same one your browser reports. Real cron daemons run in the server's timezone (often UTC), so if you are scheduling a remote job, remember to account for the offset between your local time and the server.
Which shorthand macros are supported?
@yearly (and @annually), @monthly, @weekly, @daily (and @midnight) and @hourly all expand to their equivalent five-field expressions. @reboot is recognized but has no scheduled times because it only runs once when the system starts.
Why does my expression show no upcoming runs?
Some expressions can never match a real calendar date β for example 0 0 30 2 * asks for February 30th, which does not exist. When the parser scans far into the future without finding a match, it reports that the schedule may never run so you can fix the impossible combination.