Skip to content

Cron Expression Parser

Explain a cron schedule in plain words and list its next run times.

Runs entirely in your browser

Everything is parsed in your browser. Your schedules and anything they reveal about your infrastructure are never uploaded.

Five fields of asterisks and digits decide when your backups run, when reports go out, and occasionally why something fired at three in the morning on a Sunday. Cron syntax is compact to write and miserable to read back, and the cost of misreading it is a job running at the wrong time for weeks before anyone notices.

More about Cron Expression Parser

This tool translates a crontab expression into a plain sentence — in English or natural Vietnamese, not machine-translated boilerplate — and lists the next five times it will actually fire, in your timezone or UTC. Seeing "every hour from 09:00 through 17:00, on Monday through Friday" next to concrete dates settles instantly whether the schedule means what you hoped.

One rule deserves its own paragraph, because most cron tools get it wrong: when both the day-of-month and the day-of-week fields are restricted, cron runs the job when EITHER matches. "0 0 1 * MON" fires on the first of every month AND on every Monday, not only on Mondays that fall on the first. This tool applies the rule correctly and says the "or" out loud in the description.

Validation points at the exact characters that are wrong, not just at the expression as a whole. A 60 in the minute field, a reversed range, a name in the wrong field — each error names the field, quotes the offending token, and marks its position under the expression.

The @daily-style shortcuts, three-letter names like mon and jan, ranges, lists, steps and the Vixie 5/15 start form are all understood; 0 and 7 both mean Sunday, exactly as crontab(5) says.

  • Plain-language description, in English and natural Vietnamese
  • Next five run times in your local timezone or UTC
  • The day-of-month OR day-of-week rule applied and stated correctly
  • Errors anchored to the exact characters, with the field named
  • Names, ranges, lists, steps and @shortcuts, per crontab(5)
  • Impossible dates detected: February 31 reports "never", February 29 waits for a leap year
  • Daylight-saving handled: skipped times skipped, repeated times fired once

How to use it

  1. 1Type or paste a 5-field crontab expression, or pick an example.
  2. 2Read the plain-language meaning below the input.
  3. 3Check the next five run times, switching between local time and UTC.
  4. 4If the expression is invalid, follow the marker to the exact characters.

Questions

Why does "0 0 1 * MON" run more often than I expected?

Because when both day fields are restricted, cron fires when either one matches — the first of the month OR any Monday: this surprises almost everyone once. To run only on Mondays, leave day-of-month as *.

Are six-field expressions with seconds supported?

No: six fields usually mean a Quartz or Spring schedule, which is a different dialect with different semantics. The tool says so explicitly rather than guessing which field to drop.

What does 5/15 mean in the minute field?

It is the Vixie cron start form: begin at 5, then step by 15 — so minutes 5, 20, 35 and 50. It is accepted because real crontabs use it, and the description spells out the resulting minutes.

How is daylight-saving time handled?

Like cron itself: matching is on the wall clock: a time that does not exist because clocks sprang forward is skipped that day; a time that occurs twice when clocks fall back fires once. Vietnam has no DST, but the UTC toggle and other timezones do meet it.

Whose timezone are the run times in?

Your browser's, by default — useful for reading a schedule as you would experience it. Servers usually run cron in UTC or their own zone, so flip the UTC toggle when checking a server crontab.

More Developer Tools
Esc

16 results