Open tools · 0

About

Cron Expression Parser

Paste a cron expression and read it as a sentence, each field explained and the next runs listed on any time zone’s clock, with what a clock change does to them. Four dialects, read as their schedulers read them: a crontab line with its command, Spring with seconds first, Quartz and EventBridge with ? L W and #.

What it does

  • The schedule as a sentence, each field as written with what it means, and how often it runs in a year.
  • The next runs in the zone you choose, five at first and up to a hundred, each with how long until it.
  • A clock change named on the run it touches, with what Linux cron, EventBridge and Java’s schedulers do about it.
  • Unix cron with names, lists, ranges, steps, @daily, CRON_TZ= and the command after the fields.
  • Spring’s seconds field, and Quartz’s and EventBridge’s ? L W and #, with Sunday as 1 where they count it so.
  • Every mistake named by its field: 60 in the minute, a backwards range, L in a dialect without it.
  • The same schedule as a systemd timer’s OnCalendar line, two lines where cron runs on either day field.
  • A builder for the common cases: every so many minutes, daily at a time, weekdays, a day of the month, once a year.

How to use it

  1. Paste the expression, or a whole crontab line.
  2. Pick the dialect it was written for, and the time zone the server keeps.
  3. Read the sentence, the fields and the next runs, with any warning under them.
  4. Or open Build one, choose how often, and put the result in the box.

What it does not do

  • Running anything: it reads the schedule and nothing else, so the command after the fields is shown, never run.
  • Jenkins’s H: a hash the server alone knows spreads those jobs over the hour, so no page can say the minute.
  • Quartz’s and Spring’s repeated hour: their documentation does not say what they do, so the run is shown once and the rest is theirs.

Questions

What does */5 mean?

Every fifth minute, counted from the start of the field: 0, 5, 10 and so on. A step stays within its field, so */90 runs at minute 0 only; for every ninety minutes, name the hours.

Why does it run on the wrong days with both day fields set?

Unix cron runs it when either field matches: 0 9 1 * MON runs on the first of every month and on every Monday. Spring wants both to match; Quartz and EventBridge refuse the line until one of the two is a ?.

What happens at a clock change?

An hour is skipped in spring and repeated in autumn. Linux cron runs a fixed-time job as soon as the clock jumps and once in the repeated hour; a job with * in its minute or hour runs by the clock, missing the gap and running twice. EventBridge skips it and runs it once.

Is 7 Sunday?

In Unix cron and Spring, 0 and 7 are both Sunday. Quartz and EventBridge count from 1: there 1 is Sunday and 7 Saturday, so the same fields can name another day elsewhere. The names SUN to SAT mean the same everywhere.

Everything here runs in your browser. Nothing you type, paste or open is uploaded, and there is no account and no queue. How that works.

Often used with

More in Dev Tools

  • JSON Formatter: Format, validate, repair and explore JSON: tree view, sorted keys, and big numbers kept exactly.
  • Hash Generator: Hash text or files with MD5, SHA-1, SHA-2, SHA-3, BLAKE3, CRC-32 and more; verify a checksum; compute an HMAC.
  • JWT Decoder: Decode a JSON Web Token, read every claim and its dates, and verify the signature with a secret, a PEM or a key set, told why when it fails.
  • URL Encode & Decode: Percent-encode or decode text for a URL with the kinds of escaping told apart, and take a link apart: edit its query, strip its tracking, see its real host.

All toolsAbout utilbrewPrivacy