About CronViewer

CronViewer is a static web app. Your expressions are parsed, explained, simulated and converted by JavaScript running in your browser; nothing you type is uploaded. Time-zone rules come from the IANA database built into your browser (the Intl API), so results can differ slightly between browsers that ship older tz data.

How the simulator works

The parser produces a dialect-specific syntax tree and compiles it to sets of allowed seconds, minutes, hours, days and months plus the day-of-month/day-of-week rule. The simulator walks calendar days in the chosen zone, resolves each matching wall-clock time to real instants, and applies the selected DST policy where a wall time is missing (spring forward) or repeated (fall back). The engine is checked in the test suite against a brute-force minute-by-minute scan across DST changes in several zones, including 30-minute shifts.

Dialect support

Labels: NATIVE = computed exactly by CronViewer; APPROX = best effort with documented limits; EXPLAIN = informational only (for example Jenkins H without a job name, @reboot, @every); UNSUPPORTED = cannot be done in a browser-only tool.

Feature status

IDFeatureStatusLabelNotes
CRON-01-0015-field cron lexer and ASTDoneNATIVEOwn parser with positioned tokens and per-item AST.
CRON-01-0026-field seconds parserDoneNATIVEQuartz and Spring.
CRON-01-0037-field year parserDoneNATIVEQuartz optional year (1970–2099), AWS required year (1970–2199).
CRON-01-004Dialect auto-detect with confidenceDoneAPPROXHeuristic ranking with reasons and alternatives; always overridable.
CRON-01-005Manual dialect overrideDoneNATIVE
CRON-01-006Numeric ranges, lists and stepsDoneNATIVEIncl. wrap-around ranges where the dialect allows them.
CRON-01-007Named month and weekday tokensDoneNATIVE
CRON-01-008Sunday 0/7 conventionsDoneNATIVEPer dialect: 0–7, 0–6 or 1–7 (SUN=1).
CRON-01-009DOM/DOW OR versus AND semanticsDoneNATIVEVixie star-prefix rule, robfig star rule, AND dialects.
CRON-01-010Quartz ? L W # supportDoneNATIVEL, L-n, LW, nW, nL, n#m.
CRON-01-011Macro aliases @daily @hourly @rebootDoneNATIVE@reboot and @every are explained, not simulated (EXPLAIN).
CRON-01-012Strict syntax and out-of-range diagnosticsDoneNATIVEStable codes, column positions, suggested fixes.
CRON-01-013Inline syntax highlight and token hoverPartialNATIVEField strip under the input with hover/focus meanings and error marking; no colouring inside the text box itself.
CRON-01-014Natural-language explanation with qualifiersDoneNATIVEEnglish only.
CRON-02-001Visual minute/hour/day/month/week editorDoneNATIVE
CRON-02-002Calendar-based schedule builderPartialNATIVERule builder (daily/weekly/monthly/yearly) plus a clickable 12-month heatmap; no drag-to-select on a calendar.
CRON-02-003Every N minutes and weekdays presetsDoneNATIVE
CRON-02-004Business hours and month-end recipesDoneNATIVEWith dialect-specific workarounds.
CRON-02-005Expression formatting and normalizationDoneNATIVERefuses if the normalised form would change meaning.
CRON-02-006Copy per-target generated expressionDoneNATIVE
CRON-02-007Cron to Quartz and reverse conversionDoneNATIVEVerified by simulation.
CRON-02-008Spring/Kubernetes/GitHub adaptersDoneAPPROXPlus AWS, Jenkins, systemd; config snippets.
CRON-02-009Migration semantic-diff reportDoneNATIVE400-day / 4,000-run simulated diff.
CRON-02-010Multiple schedule side-by-side comparisonDoneNATIVEUp to 6 schedules.
CRON-02-011Human expression to cron via rule builderDoneNATIVEStructured rule builder; free-text English parsing is not offered.
CRON-02-012Shareable URL preserving expression and dialectDoneNATIVEState in the # fragment only.
CRON-02-013Local named presets and favoritesDoneNATIVEIndexedDB.
CRON-03-001Next 10/100/1000 fire timesDoneNATIVEWeb Worker with time budget.
CRON-03-002Previous fire times and reference instantDoneNATIVE
CRON-03-003Calendar heatmap daily/weekly/monthlyDoneNATIVE12-month calendar, week×hour grid, day timeline.
CRON-03-004Timeline view with occurrence densityDoneNATIVE
CRON-03-005Timezone comparison modeDoneNATIVEUp to 3 extra display zones; UTC translations for UTC-only targets.
CRON-03-006DST spring gap and fall overlap handlingDoneAPPROXPer-platform policies with confidence labels.
CRON-03-007Leap day and end-of-month edge casesDoneNATIVE
CRON-03-008Daylight-saving impact reportDoneNATIVE2-year horizon, all policies compared.
CRON-03-009Frequency estimates over bounded intervalsDoneNATIVEExact daily counts for 12 months.
CRON-03-010Schedule collision and overlap detectorDoneNATIVE
CRON-03-011Blackout date and holiday overlays from imported local fileDoneNATIVE.ics / .csv / .txt read locally.
CRON-03-012Synthetic execution duration overlap previewDoneAPPROXUser-estimated durations.
CRON-03-013IANA timezone identifier validationDoneNATIVEUses the browser tz database; suggestions for typos/abbreviations.
CRON-03-014Export occurrences CSV/JSON/ICSDoneNATIVE
CRON-04-001Cron test vector editorDoneNATIVE
CRON-04-002Property-based parser test casesPartialNATIVEIn the repository test suite (oracle + round-trip + fuzz); not exposed in the UI.
CRON-04-003Explain why a date does not matchDoneNATIVE
CRON-04-004Ambiguity warnings per target platformDoneNATIVE
CRON-04-005Offline quick reference and examplesPartialNATIVEService worker caches pages after first visit; cheat sheet is a page, not a dedicated offline panel.
CRON-04-006Accessible keyboard navigationDoneNATIVE“/” focuses the expression; arrow-key tabs; skip link. Not audited with every screen reader.
CRON-04-007URL restore and back-forward stateDoneNATIVE
CRON-04-008Local persistence and resetDoneNATIVEAutosave, backup export/import, delete all.
CRON-04-009Copy diagnostics and reproducible bug fixtureDoneNATIVE
CRON-04-010Printable schedule summaryDoneNATIVEPrint stylesheet.

Not done (roadmap)