Cron Expression Explainer Widget

Embed a cron explainer in your DevOps docs. Readers paste a crontab schedule and get a plain-English description, the values each field matches and the next five times it will run in their time zone or UTC.

Developer Tools Tool Runs in your browser Free · no ads

Customize your widget

Theme
Auto follows the visitor's light/dark setting.
Style
Attribution on your page
Optional and entirely your choice. The exact line is shown in the code below; it links to the tool with rel="nofollow".
More options
Starting values
Leave blank to use the widget's defaults. Visitors can still change every value.

Live preview

Exactly what your visitors will see

Embed code

<iframe src="https://a2z.tools/embed/w/cron-expression-explainer" title="Cron Expression Explainer by A2Z Tools" width="100%" height="760" style="border:0;width:100%" loading="lazy" allow="clipboard-write"></iframe>

A plain iframe. Works everywhere, including site builders that strip scripts. Adjust height if your content needs more room.

Works with

How it works

The widget parses standard Unix (Vixie) cron: five fields - minute, hour, day of month, month, day of week - or six with a leading seconds field as used by some schedulers. It understands lists, ranges, steps, month and weekday names, 7 as Sunday and the @daily-style macros, and validates every value against its range. Quartz-only characters (L, W, #) are rejected with an explanation instead of being guessed. One rule surprises many people: when both day-of-month and day-of-week are restricted, cron runs on days matching either one, so "0 0 1 * 1" runs on the 1st and on every Monday; the widget applies that rule and says "or" in the description. Next runs are found by walking the calendar, so impossible schedules such as 30 February are reported as never running.

Method

  • Fields: [second] minute(0-59) hour(0-23) day-of-month(1-31) month(1-12) day-of-week(0-6, 0 = Sunday; 7 also accepted as Sunday)
  • POSIX syntax: *, lists (,) and ranges (-); Vixie extensions also accepted: steps (/), names JAN-DEC and SUN-SAT, @yearly @monthly @weekly @daily @hourly
  • Day rule (POSIX and Vixie): if both day-of-month and day-of-week are restricted, a day matches when either matches; a field starting with * counts as unrestricted
  • Next runs: walk calendar days up to 8 years ahead, trying the matching hours and minutes of each, in the visitor's IANA zone or UTC; local times skipped by a DST jump do not run

Limitations

  • Quartz and Spring features (L, W, #, a year field) are rejected, and Jenkins H (hash) syntax is not understood.
  • @reboot has no calendar time, so it is explained in a message and produces no run list.
  • Real schedulers differ at daylight-saving changes: Vixie cron may run a skipped job right after the jump or run a repeated hour twice; the list shows the simple calendar answer.
  • Paste the schedule fields only: a full crontab line with its command, environment lines and CRON_TZ are not parsed.

Where publishers use it

  • Linux and DevOps tutorials on crontab
  • CI/CD documentation for scheduled GitHub Actions, GitLab or Jenkins jobs
  • Kubernetes CronJob guides
  • Internal runbooks where on-call engineers check when a backup or report runs

Questions

Why does my job run on more days than expected?

If both the day-of-month and day-of-week fields are set, standard cron runs when either matches. Use * in one of them to require only the other.

Are the run times in my time zone?

By default they are shown in the visitor's local time zone; switch to UTC to match servers that run cron in UTC.

Does it support Quartz or Spring expressions?

It supports the optional seconds field, but not Quartz's L, W and # characters, which standard cron does not have.

What happens during daylight-saving changes?

A local time that does not exist (clocks jumping forward) is skipped in the run list. Real cron daemons differ in how they handle this.

Sources

  1. POSIX.1-2024: crontab utility - The Open Group / IEEE . Five fields, ranges, lists and the either-day rule
  2. crontab(5) manual page (cronie / Vixie cron) - Linux man-pages project . Steps, names, 7 = Sunday and @ macros, which POSIX does not define

Cite or recommend this tool

If you reference this tool in an article, course or documentation, these formats are ready to copy. They are optional - nothing is added to your site unless you paste it.

A2Z Tools Cron Expression Explainer
https://a2z.tools/cron-expression-parser

Preview