One expression, eight different meanings
The same five characters mean different things to different schedulers. In Unix cron "1-5" in the last field is Monday to Friday; in Quartz and AWS it is Sunday to Thursday, because they count Sunday as 1. Unix cron runs a job when either day field matches; Spring and Jenkins require both. CronViewer keeps an explicit dialect next to every expression and shows the rule it applied, so a schedule copied between systems never silently changes meaning.
Daylight saving is the other trap. A 02:30 job does not exist on the night clocks spring forward, and a 01:30 job can happen twice when they fall back. The simulator works on real instants in IANA time zones and labels every run that was skipped, shifted or duplicated, using the behaviour documented for each platform.
What you can do here
Validate and explain any expression, build one with the visual editor or a recipe, list the next 10, 100 or 1,000 runs (or previous runs from any reference time), view a year heatmap, read a DST impact report, convert between dialects with an automatic equivalence check, compare several schedules for collisions, and export the runs as CSV, JSON or iCalendar. Your work is autosaved in this browser only.
Try these
0 9 * * 1-5Weekdays at 09:000 15 10 ? * MON-FRIQuartz, 10:15 on weekdayscron(0 12 * * ? *)AWS, daily at noon30 2 * * *Inside the spring-forward gap
Questions
Is my expression sent anywhere?
No. Parsing, simulation and conversion run in your browser. The page makes no network request containing your input, and the share link keeps state after the # so it is never sent to a server.
Which cron dialects are supported?
Unix (Vixie/cronie), Quartz 6/7-field, Spring @Scheduled, AWS EventBridge cron(), Kubernetes CronJob, GitHub Actions, Jenkins (H syntax) and a common subset of systemd OnCalendar. Each dialect shows its support level — exact, qualified or informational.
How accurate is the DST handling?
Run times are computed as instants using your browser’s IANA time-zone database. What a platform does with a missing or repeated wall time differs, so CronViewer applies a documented per-platform policy, labels its confidence, and lets you switch policy to see the difference.