Cron parser

Paste an expression from a crontab, a CI file or a Spring annotation. You get it translated to plain English, each field decoded, and the next runs listed.

✓ Valid cron

At 22:00, on weekdays (Monday through Friday).

Next 10 runs

Calculating in your browser…

Times are computed in your browser for the selected zone and are informational. The server that runs the job uses its own zone (often UTC) and cron flavour, so verify there.

Same schedule in other dialects

Unix crontab0 22 * * 1-5
Quartz0 0 22 ? * MON-FRI
Spring @Scheduled0 0 22 ? * MON-FRI
AWS EventBridgecron(0 22 ? * MON-FRI *)

Reading the translation

Each box under the expression is one field. Click it to see which token it holds; red means that field broke validation. The sentence underneath is built from the parsed values, not from pattern matching on the text, so unusual combinations like 5-59/15 */3 1,15 * * are described correctly.

Symbols you’ll see: * any value, , a list, - a range, / a step. The syntax guide covers each with examples. If an expression fails, the cron validator explains exactly what’s wrong and can suggest a fix.

Questions

What does a cron parser do?
It splits an expression into its fields, checks each value against the allowed range, expands steps, ranges and lists into concrete values, and turns the result into a sentence and a list of upcoming run times.
Can it read Quartz and Spring expressions?
Yes. Switch the dialect to Quartz / Spring for six or seven fields with seconds first. It understands "?", L (last day), W (nearest weekday) and # (nth weekday), and it uses Quartz’s numbering where 1 is Sunday.
Does it understand @daily and other macros?
Yes: @yearly, @annually, @monthly, @weekly, @daily, @midnight, @hourly and @reboot are expanded to their five-field equivalents in Unix mode.
Why is the English description different from another tool’s?
Wording differs between tools, but the schedule should not. Check the next run times list: if two tools list different times for the same expression and time zone, one of them is wrong, or they assume different cron flavours.