Cron Expression Explainer

Paste any cron expression to see what it means in plain English and exactly when it will run next — in your own time zone, DST included.

Also available as a desktop app for Windows.

About this tool

A cron expression is a compact schedule written as five fields — minute, hour, day of month, month, and day of week. Reading one is easy right up until it is not: is 0 0 1 * 0 the first of the month, a Sunday, or both? This tool answers that, and then tells you the exact moments the job will actually fire.

Most cron helpers stop at translating the expression into English. The part that causes real incidents is the next run time — especially across a daylight-saving boundary, where the same expression fires at a different wall-clock hour twice a year, or where the time you asked for does not exist at all on that date.

Everything runs locally in your browser. No expression you type is sent anywhere, and there is no sign-up.

Frequently asked questions

Does it take time zones and daylight saving into account?
Yes. Pick a time zone and the next run times are resolved against that zone, including historical and future daylight-saving transitions. Spring-forward gaps are skipped and reported; a wall-clock time that is skipped on that date is never returned as a run time.
What does 0 0 1 * 0 mean?
Both midnight on the first of the month and midnight every Sunday. When both the day-of-month and day-of-week fields are restricted, cron treats them as OR, not AND. This tool flags that behaviour instead of silently picking one side, because it is the single most common cron surprise.
Can I use names like MON or JAN?
Yes. Three-letter month and weekday names are accepted in the month and day-of-week fields, and are case-insensitive.
What about @daily and the other shortcuts?
@yearly, @annually, @monthly, @weekly, @daily, @midnight and @hourly are supported and expanded. @reboot is not supported, because it has no predictable run time — it means "when the machine starts", which is not a schedule.
Does it support six-field expressions with seconds?
Yes. If six fields are supplied, the first is treated as seconds. That is the Quartz and systemd timer convention.
Why does a valid expression sometimes have no run times?
Some expressions can never fire, such as 0 0 31 * * in a month that has no 31st, or a day-of-month and day-of-week combination that never coincide. If no run time is found within the search window, the tool says so instead of inventing an answer.

Related tools