Cron Expression Parser
Translate any cron expression into plain English and see exactly when it runs next.
Five fields: minute hour day-of-month month day-of-week.
Both day-of-month and day-of-week are restricted, so cron fires when either one matches — not only when both do.
| Field | Value | Meaning |
|---|
Next runs
How it works
Type a cron expression and it is parsed as you type: every field is expanded, translated into
plain English, and used to calculate the next run times. Standard five-field crontab syntax is
supported — wildcards (*), lists (1,15), ranges (1-5),
steps (*/10, 0-30/5), month and weekday names
(JAN, MON), the ? wildcard, and the
@daily/@hourly/@weekly/@monthly/@yearly
macros. A leading sixth field is treated as seconds, the way Quartz and Spring schedulers do.
Two details trip people up. First, when both day-of-month and day-of-week are restricted, cron
runs when either matches, so 0 0 13 * 5 fires on the 13th and on every
Friday — the parser flags that case for you. Second, cron follows the clock of the machine it
runs on, so switch the time zone selector to UTC to preview the schedule the way a server or
CI runner would see it. Everything happens in your browser with plain JavaScript: the
expression is never sent anywhere, there is no API behind this page, and it keeps working
offline.
Frequently asked questions
How do I read a cron expression?
A standard cron expression has five fields, in order: minute (0-59), hour (0-23), day of month (1-31), month (1-12 or JAN-DEC) and day of week (0-6 or SUN-SAT, where 0 is Sunday). Each field accepts * for every value, a list like 1,15, a range like 1-5, or a step like */10. So 0 9 * * 1-5 means minute 0 of hour 9, every day of the month, every month, Monday through Friday — weekdays at 09:00. Paste your expression above and this parser spells out every field for you.
What does */5 * * * * mean?
It means every 5 minutes, all day, every day. The */5 in the minute field is a step: start at minute 0 and repeat every 5 minutes, so the job runs at :00, :05, :10 and so on, while the four * fields put no restriction on the hour, day, month or weekday. Change it to */5 9-17 * * 1-5 and it runs every 5 minutes between 09:00 and 17:59 on weekdays only.
Does this cron parser send my expression to a server?
No. The whole parser is JavaScript running in your browser — there is no API call, nothing is logged, and the page keeps working with your network disconnected. That matters because production cron lines often reveal internal script paths and hostnames. It also means results appear instantly as you type, and you can switch between local time and UTC to preview the schedule the way your server or CI runner would see it.