Skip to content

Cron Expression Parser

Explain a cron expression in plain words.

Input
Output

No result

About Cron Expression Parser

Cron Expression Parser takes a five-field cron schedule and labels each field so you can see at a glance what a line in a crontab actually does. It splits the expression into minute, hour, day of month, month and day of week, then describes each one: an asterisk becomes every minute or every hour, a comma-separated list is read out item by item, and anything else is reported as the value it was written with.

The five-field order it expects is the classic Unix one, which is what most Linux crontabs and scheduling libraries use. Expressions with six fields — the form some systems use to add a seconds column, and the form many Kubernetes and Quartz schedulers use — will be rejected with a message stating that five fields were expected rather than being silently misread as a different schedule.

The output is a reading aid, not a schedule calculator. Ranges written with a hyphen, step values such as every-five-minutes, and month or weekday aliases are passed through as written rather than expanded into the times they represent, and no next-run time is computed. That makes it useful for a quick confirmation of a line you are about to commit, and not a substitute for a simulator when a schedule is genuinely intricate.

How to use Cron Expression Parser

  1. 1 Paste the cron expression, keeping all five fields and the spaces between them.
  2. 2 Read the field-by-field breakdown to confirm each position says what you intended.
  3. 3 Check the day-of-week and day-of-month fields together, since that is where most schedules go wrong.

Frequently asked questions

Does it tell me when the job will next run?

No. It reads the expression position by position instead of simulating it, so you get a description of the schedule rather than a list of future trigger times. For an unfamiliar expression, running a single dry-run schedule is a safer confirmation than any description.

Why does my range show as a literal value instead of being expanded?

Because the parser reports what each field contains rather than interpreting it. A weekday range is shown as written, so the field label tells you it is a weekday field while the value is left for you to read — this avoids implying an interpretation the tool does not compute.

My expression has six fields and it was rejected. Why?

The parser accepts the classic five-field Unix form. Schedulers that add a leading seconds column use six, and those need reading in a different order, so rather than guess, the tool reports that five fields were expected.

Does an asterisk mean every value in that field?

It does, and that is how the position is labelled — an asterisk in the minute field is reported as every minute. The consequence people miss is that an asterisk in the day-of-month field combined with a weekday value produces a schedule that fires on far more days than intended.

Free, online, and private

Free to use

Cron Expression Parser is completely free. There is no account to create, no login, and no hidden charge or usage limit.

Runs online in your browser

It is a free online tool that runs entirely in your browser. Nothing to download or install — open the page and start using it right away.

Your data stays private

All processing happens locally on your device. Your input is never uploaded, stored, or tracked, so it never leaves your browser.

How Cron Expression Parser behaves in detail

These are the specifics of this implementation — the exact ranges, defaults and fixed settings you are working with.

Parameter Value
Required fields exactly 5, split on whitespace — any other field count returns one fixed sentence
Output rows five lines, labelled Minute, Hour, Day of month, Month and Day of week
Recognised syntax the asterisk and the comma list only — * becomes "every <unit>", everything else is echoed after "at "
Next run never calculated — no Date call appears anywhere in the explainer
Time zone no field and no handling; the expression is never tied to a clock or a zone

Compiled from the implementation of this tool and checked against it by itoolnet.

What Cron Expression Parser does not do

Knowing the edges of a tool saves more time than another list of its features. These are the cases where it will not do what you might expect.

  • The five fields are described but never resolved. There is no next-trigger calculation and no time zone in the code at all, so 0 9 * * 1-5 tells you what the numbers mean but never the date of the next run.
  • Range and step syntax are passed through as text instead of being expanded: 1-5 comes back as "at 1-5", and */15 or 0,15,30,45 keep their raw form, so the output is only as readable as what you typed.
  • No field is range-checked, so month 13 or hour 99 is reported verbatim without complaint, and the six-field form that carries seconds (or a macro such as @daily) produces nothing but the same "Expected 5 fields" line.

Tested and documented by itoolnet, the team that builds and maintains this site.

Share & embed this tool

Writing a guide or article? You are welcome to link to Cron Expression Parser with the snippet below. It is free, runs entirely in your browser, and needs no signup.