Cron Expression Parser
Parse standard 5-field cron expressions. Get a plain-English description and the next 10 fire times in your local timezone. Useful when writing a new cron, debugging why one didn't fire, or converting between cron and human schedules.
Standard cron syntax
┌──────── minute (0 - 59)
│ ┌────── hour (0 - 23)
│ │ ┌──── day of month (1 - 31)
│ │ │ ┌── month (1 - 12)
│ │ │ │ ┌ day of week (0 - 6, Sunday = 0)
│ │ │ │ │
* * * * * command
Common expressions
| Expression | Meaning |
|---|---|
* * * * * | Every minute |
*/5 * * * * | Every 5 minutes |
0 * * * * | Every hour, on the hour |
0 9 * * * | Daily at 9:00am |
0 9 * * 1-5 | Weekdays at 9:00am |
0 0 1 * * | First day of each month at midnight |
0 0 1 1 * | New Year's day at midnight |
*/15 9-17 * * 1-5 | Every 15 minutes from 9am-5pm on weekdays |
Quirks to watch
Day-of-month vs day-of-week. When both fields have values (neither is *),
standard cron triggers when either matches — which is rarely what people expect. To
restrict to a specific day AND weekday, you need application logic, not pure cron syntax.
Timezone. Standard cron uses the system timezone of the host running it. If your
server is UTC and you write 0 9 * * *, that fires at 9am UTC. The "next fires" panel
in this tool uses your browser's local timezone for readability.
Non-standard extensions. Quartz (Java) and cronie (Linux) add 6th field for
seconds, special strings (@hourly, @daily), and L/W/# modifiers (last
day, weekday-nearest, nth-day-of-week). This parser handles standard 5-field syntax plus
@hourly / @daily / @weekly / @monthly /
@yearly aliases.