Cron Expression Explainer & Checker (Free)

Know exactly when a cron job will run before it surprises you.

Cron Expression Explainer & Checker (Free) cover

What it does

Paste a cron expression and get it in plain English, the next run times in your time zone, and warnings for the mistakes that make jobs run at the wrong time. Works for crontab, GitHub Actions, Kubernetes CronJob, Spring and Quartz. It can also scan crontab files, workflow files and CronJob YAML in one go. Python standard library only.

$ python3 -m cronx "0 9 1-7 * 1" --tz America/New_York
0 9 1-7 * 1  (standard cron)
  at 09:00, on day 1 through 7 of the month OR on Monday (cron runs when either matches)
  next runs (America/New_York): 2026-11-09 09:00, 2026-11-16 09:00, ...
  WARN DOM_DOW_OR: both day-of-month and day-of-week are set: standard cron runs when EITHER matches ...

What you get

The screenshot is real output from the kit’s own commands. Tested from a fresh download of this exact zip: ./run_tests.sh ran 7 tests OK on Python 3.13 and 3.10.

Real terminal output from Cron Expression Explainer & Checker: demo and passing tests

What it understands

  • Standard cron (Vixie/cronie, GitHub Actions, Kubernetes): 5 fields, ranges, lists, steps, JAN-DEC and SUN-SAT names, wrap-around ranges like fri-mon, 0/7 for Sunday, and @daily, @weekly and the other macros. When both day fields are set, cron's OR rule applies.
  • Spring (6 fields, seconds first): ?, L, L-3, LW, 15W, 5L, 5#3, and 0/7 = Sunday.
  • Quartz (6 or 7 fields with year, --quartz): ? required in one day field, 1 = Sunday, L, W and #.
  • Time zones: next runs in any IANA zone (--tz Europe/Berlin). Times skipped by a daylight-saving jump are shown at the real instant.

Warnings

CheckMistake
DOM_DOW_OR0 9 1-7 * 1 is not "first Monday": it runs every Monday and on days 1-7
UNEVEN_STEP*/7 minutes resets each hour (:56 then :00)
EVERY_MINUTE_IN_HOUR* 3 * * * runs 60 times between 03:00 and 03:59
SKIPPED_MONTHSday 31 (or 30, 29) never fires in shorter months
GITHUB_MIN_INTERVAL / GITHUB_NOTESGitHub runs schedules at most every 5 minutes, in UTC unless timezone: is set, only on the default branch; busy at the top of the hour
K8S_TIMEZONECronJob uses the controller's zone unless spec.timeZone is set
WEEKDAY_NUMBERSSpring and Quartz number weekdays differently
DST01:00-03:00 local jobs can be skipped or doubled on daylight-saving changes

Scan files

python3 -m cronx scan crontab.txt .github/workflows/nightly.yml cronjob.yaml finds every schedule. That includes crontab lines (with CRON_TZ=), GitHub - cron: entries (with their timezone:) and CronJob schedule: lines. Each is explained and checked. Exit code 1 if any expression is invalid, so it can run in CI. --json for scripts.

./demo.sh runs both modes on the examples. ./run_tests.sh runs the tests. It's also a Claude Code plugin with a skill in skills/cron/.

Running infrastructure with Claude Code? DevOps & SRE Subagents adds 10 subagents for incidents, Terraform, Kubernetes, CI and alerts. It also includes a guard hook that asks before terraform apply or kubectl delete: https://youraitools.co/marketplace/devops-sre-subagents

Honest limits

  • It explains and checks schedules; it doesn't run jobs.
  • @reboot runs once at startup, so it has no schedule to explain and is rejected.

Format and license

Zip, 14 KB, v1.0, 14 files. Free to use, modify and share for any purpose, including commercial work, as long as this notice stays in copies. Not affiliated with or endorsed by GitHub or the Kubernetes project.

FAQ

Is it free?
Yes, enter your email for the newsletter or download directly.
Does it support Quartz and Spring?
Yes, including ?, L, W and #.
Which time zone does GitHub Actions use?
UTC unless the schedule sets timezone:. The tool shows the next runs in the right zone.
How do I get the files?
Click Download free. The zip downloads straight away: no checkout, no account.
Do I have to sign up for the newsletter?
No. The form is optional and the download works without it.

Get Cron Expression Explainer & Checker (Free)

Free cron expression explainer: plain English, next run times in your time zone, and warnings for common mistakes. Crontab, GitHub Actions, Kubernetes.

Pairs well with

Download$49

Back-Office Ops Skills Bundle

4 back-office tools: payroll register reconciliation, employee census checker, SaaS spend finder, contract renewal tracker. Local CSV. $49 ($86 separately).

View Back-Office Ops Skills Bundle
Download$39

Sales Ops Skills Bundle

Sales ops bundle: pipeline hygiene checker, CRM duplicate cleanup and 4 HubSpot n8n workflows. Clean CRM, reliable forecast. $39 ($57 separately).

View Sales Ops Skills Bundle
DownloadFree

SQL Risk Checker (Free)

Free SQL checker: flags DELETE/UPDATE without WHERE, DROP, TRUNCATE and query bugs like = NULL. Command line, GitHub Actions annotations and pre-commit.

View SQL Risk Checker (Free)

Related