Cron expression to plain English

A readable sentence for any expression — plus the qualifiers a one-liner leaves out.

Dialect set manually: Unix.
NATIVE exact Unix
0Minuteat minute 0
0Hourthe 00:xx hour
1Day of monthday 1
*Monthevery month
1Day of weekMonday

At 00:00, on day 1 of the month OR on Monday.

  • Times are in UTC.
  • Day rule: OR — a day matching either field runs.
  • Note: Both day-of-month and day-of-week are restricted: the job runs on days matching EITHER field (OR).AMBIGUOUS_SEMANTICS, column 5Fix: To require both, keep one field "*" and test the other in the command, or use a dialect with AND semantics.

Loading the simulator…

A sentence with the fine print

Most translators turn 0 0 1 * 1 into “at 00:00 on day 1 and on Monday”, which hides the real behaviour. CronViewer says “At 00:00, on day 1 of the month OR on any Monday” and adds a qualifier that Unix cron uses the OR rule. Change the dialect to Spring and the sentence becomes “… on day 1 of the month, but only if it is a Monday” — a very different schedule.

Qualifiers also state the time zone, whether DST applies, and platform caveats such as GitHub’s delayed runs or Kubernetes controller behaviour that a local simulator cannot reproduce. The per-field breakdown underneath gives the meaning of each token for documentation or code review.

Try these

Questions

Can it explain @daily and other macros?

Yes. Macros are expanded in the dialect that supports them; in Jenkins, @daily means H H * * *, a hashed time, and the explanation says so.

Is the English sentence safe to paste into docs?

It is generated deterministically from the parsed fields, so the same expression always gives the same sentence. Include the qualifiers when the day rule or time zone matters.