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.
Live preview
Exactly what your visitors will seeUnder the widget on your page: Powered by A2Z Tools
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.
<div data-a2z-widget="cron-expression-explainer" data-height="760"></div> <script async src="https://a2z.tools/embed.js"></script>
Adds a small script (what it does) that sizes the widget to fit its content, loads it lazily and keeps it isolated from your page's CSS.
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
- POSIX.1-2024: crontab utility - The Open Group / IEEE . Five fields, ranges, lists and the either-day rule
- 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
<a href="https://a2z.tools/cron-expression-parser">A2Z Tools Cron Expression Explainer</a>
[A2Z Tools Cron Expression Explainer](https://a2z.tools/cron-expression-parser)
Cron Expression Explainer by A2Z Tools - https://a2z.tools/cron-expression-parser
Related widgets
-
Live epoch time, timestamp to date (seconds to nanoseconds detected) and date to timestamp.
-
Test a JavaScript regular expression: highlighted matches, capture groups and a replace preview.
-
Generate 1 to 100 random v4 or time-ordered v7 UUIDs in several formats.
-
Pretty-print, minify or validate JSON, with the line and column of the first syntax error.
-
Convert a JSON array of objects to CSV and CSV back to JSON, with RFC 4180 quoting.
-
Encode text to Base64 or decode it, with proper UTF-8 and an optional URL-safe alphabet.