Cron Expression Parser

Explain any crontab schedule and preview its next run times.

100% in your browser — nothing uploaded

Explain a cron expression in plain English

Field reference

0–591 · minute · * , - /
0–232 · hour · * , - /
1–313 · day of month · * , - /
1–12 · JAN–DEC4 · month
0–7 · SUN–SAT5 · day of week · 0 and 7 = Sunday
@dailyAliases: @yearly · @monthly · @weekly · @daily · @hourly

About this cron expression parser

Cron syntax is compact but easy to misread: five fields, each with its own range, plus lists, ranges, steps, and named shortcuts. Paste any standard crontab expression (like */15 9-17 * * 1-5) and this tool turns it into a plain-English sentence, shows the next five run times in your local timezone, and points at exactly which field is invalid when something is off.

It supports the full standard syntax — steps (*/15), ranges (9-17), lists (1,15), month and weekday names (JAN-DEC, SUN-SAT), and the @yearly, @monthly, @weekly, @daily, and @hourly shortcuts. It also gets the classic gotcha right: when both day-of-month and day-of-week are set, cron fires when either one matches. Everything is computed locally in your browser, so your schedules never leave your device.

FAQ

What do the five fields of a cron expression mean?

In order: 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 *, lists (1,15), ranges (9-17), and steps (*/5).

Why does my cron job run more often than expected?

The usual culprit: when both day-of-month and day-of-week are restricted, standard cron fires when either one matches — not both. "0 12 13 * 5" runs at noon on the 13th and on every Friday. To require both at once, check the weekday inside your script instead.

In which timezone are the next run times shown?

In your browser’s local timezone. Keep in mind the machine that actually runs your crontab may use a different one — many servers run on UTC, so shift the hours accordingly.

Related tools