Updated · Built and checked by the PlinzoTools team, formulas tested against published sources
Parse an existing cron expression into a plain-English schedule description.
At 09:30, on Monday
This tool is the reverse of a cron expression builder: paste an existing cron expression you've found in a config file or script, and it decodes each of the 5 fields and describes the resulting schedule in plain English -- useful when you encounter a cron expression you didn't write yourself.
Paste a 5-field cron expression (minute hour day-of-month month day-of-week). The parsed fields and a plain-English description appear instantly.
The expression is split on whitespace into exactly 5 fields (the only check enforced is that the field count is 5), and a human-readable sentence is built describing when the schedule fires. Values are not range-checked, so an out-of-range value such as minute 75 is echoed back rather than rejected. The standard ranges are minute 0-59, hour 0-23, day-of-month 1-31, month 1-12, and day-of-week 0-6.
30 9 * * 1 parses to "At 09:30, on weekday 1" (every Monday at 9:30 AM).
To build a new cron expression from scratch instead, see the Cron Expression Generator.
A standard cron expression reads left to right as minute, hour, day of month, month and day of week. A star means every value for that field. Once you know that order, most schedules decode at a glance. The tool splits your text on any run of whitespace and requires exactly five fields; anything else produces an error message asking for the five-field format.
The plain-English sentence is built from simple rules. If both minute and hour are stars, it says every minute. If only the minute is set and the hour is a star, it says at minute N of every hour. Otherwise it prints the time as hour:minute, padded with a leading zero. Then it appends a clause for each of day of month, month and day of week that is not a star. Values are echoed as typed: the month is shown as a number, not a name, and the weekday as a number, where 0 is Sunday.
This parser confirms the field count but does not check that each value is inside its legal range. An entry like 99 99 * * * would be described without complaint, so verify numbers against the ranges of 0-59 for minutes, 0-23 for hours, 1-31 for day of month, 1-12 for month and 0-6 for weekday. Names such as MON or JAN and special strings such as @daily are not handled. Also note that in many cron implementations, when both day of month and day of week are restricted, the job runs when either matches, not only when both match, so the sentence can read more restrictive than the real behaviour. Check your scheduler's documentation.
This tool expects the standard 5-field format; some systems (like some versions of cron) support a 6th "seconds" field, which isn't handled by this parser.
The description covers simple values and the "*" wildcard; step and range syntax appear in the raw parsed fields but aren't specially translated into plain English by this tool.
Yes, per the standard cron convention -- 0 represents Sunday, through 6 for Saturday.
The description builder echoes the field text as typed and does not translate step or range syntax. Read */5 as every fifth value in that field.
No. It only checks that there are five fields. You must confirm each value is within its allowed range yourself.
No. Use numbers, with 0 for Sunday through 6 for Saturday, as the tool echoes them exactly as written.
No. It only describes the schedule in words. It does not calculate upcoming run dates or apply a time zone.
Reference: MDN Web Docs