Cron Expression Parser — In Plain English

Plain-English meaning + the next five run times, live.

minute · hour · day-of-month · month · day-of-week

Next runs (local time)

    The five fields, and the one that is misread

    Minute, hour, day of month, month, day of week. The trap is the pair in the middle: when both day of month and day of week are set, cron runs on either, not both. 0 0 1 * 1 is not "the first of the month if it is a Monday" but "the first of the month, and every Monday".

    The other classic is a lone * in the minute field. * 2 * * * does not run at two in the morning — it runs sixty times, once a minute, for the whole of that hour.

    The next five runs

    Which is why the schedule is shown as actual dates and times rather than only as a description. A misread expression usually looks reasonable in English and obviously wrong the moment you see it fire five times in five minutes.

    Frequently asked questions

    Why does my job run every minute?

    A * in the minute field. "* 2 * * *" runs sixty times during the 2am hour; "0 2 * * *" runs once.

    How do day-of-month and day-of-week interact?

    As OR, not AND — when both are set, cron runs on either. This surprises almost everyone the first time.

    What timezone does cron use?

    The system timezone of the machine running it, which is often UTC on a server. Schedules that must match local business hours need checking after clock changes.

    Something wrong with this tool, or an idea for it? Tell us