Skip to content
Toolbench

Cron Expression Parser

Read a cron expression: what it means, and exactly when it runs next.

Runs entirely in your browser

Loading tool...

How to use

  1. Type a cron expression, or pick one of the common schedules to start from.
  2. Read the fields to see exactly which minutes, hours and days it matches.
  3. Check the next run times, shown in UTC.
  4. Watch for the either-day warning — it is the rule most people get wrong.

Features

  • Ranges, lists, steps, names and the @daily-style shorthands.
  • The next five run times, computed by walking the calendar rather than guessing.
  • Handles the either-day rule correctly, and says when it applies.
  • Says when an expression can never fire, instead of searching forever.
  • Runs entirely in your browser.

Frequently asked questions

What does 0 0 1 * MON actually do?
It runs on the 1st of every month AND on every Monday — not only on Mondays that fall on the 1st. When both the day-of-month and day-of-week fields are restricted, cron treats them as OR rather than AND. It is the single most misread thing about cron, it comes from the original crontab implementation rather than any design intent, and this tool warns whenever an expression triggers it.
Why are times shown in UTC?
Because a schedule without a zone is ambiguous, and guessing yours would give two people different answers for the same expression. Your server runs cron in whatever zone it is configured for — usually UTC in a container, often local time on a VM — and that mismatch is where a schedule surprises someone. Check the zone with `date` on the machine that will run it.
Does it handle seconds?
No. Standard cron has five fields and a resolution of one minute. Some schedulers — Quartz, and Spring's — add a seconds field at the front, making six; those expressions will be reported as having the wrong number of fields here.
What about daylight saving?
Since everything is computed in UTC, there is no daylight saving to apply. On a server running local time, a daily job scheduled inside the shifted hour can run twice or not at all on the two days a year the clock changes — which is a good reason to run cron in UTC.

Describe when a job should run and get the expression, previewed against the same parser a real crontab uses.

Convert a Unix timestamp to a date, or a date to a timestamp — in UTC and your own zone.

See one moment across several places at once — with the hours that do not exist called out.

Cron Expression Parser — Meaning and Next Run Times