Handytool
DeveloperFreeRuns locally

Cron expression builder

Build, validate and explain cron expressions — see the next 5 runs and a plain-English description.

Preset
minhourdaymondow
What it means
at :00 on 0h, every of every, every
Next 5 runs
  • 2026-04-28T00:00:00Z
  • 2026-04-29T00:00:00Z
  • 2026-04-30T00:00:00Z
  • 2026-05-01T00:00:00Z
  • 2026-05-02T00:00:00Z

Times shown in UTC.

About the Cron expression builder

Handytool's cron builder turns a 5-field cron expression into a plain-English description and shows the next five UTC fire times. Pick a preset like Every minute, Hourly, or Daily, or type your own expression with ranges (1-5), lists (1,3,5), and steps (*/15). The expression is parsed locally and the next-runs preview is computed by simulating minute-by-minute matches against the standard Vixie-cron rules.

Cron expression builder features

  • 01

    Plain-English explanation

    Every valid expression is explained as a sentence — "at :00 on every hour, day 1 of Jan, every weekday" — so you can sanity-check what a job will actually do before you ship it.

  • 02

    Next 5 UTC runs

    Once the expression parses, the next five times it will fire are listed in ISO-8601 UTC. Useful for checking whether a midnight job hits the right edge of the day in your time zone.

  • 03

    Ranges, lists, and steps

    Supports the standard cron syntax: */N steps, A-B ranges, A,B,C lists. Field bounds are validated (minute 0–59, hour 0–23, day 1–31, month 1–12, day-of-week 0–6).

Cron expression builder FAQ

Which cron flavor does this support?
Standard 5-field Vixie-cron — minute, hour, day-of-month, month, day-of-week. Names like @daily and the optional 6th seconds field are not supported, since most production schedulers (cron, Kubernetes CronJob, GitHub Actions) use the 5-field form.
Why are the next runs in UTC?
Most CI/CD systems and cloud schedulers interpret cron expressions in UTC. Showing UTC keeps the preview portable — convert to your local time once, in your head, instead of being misled by the browser's time zone.
What's the difference between */15 and 0,15,30,45?
Both fire every 15 minutes when used in the minute field. */15 starts from the beginning of the range (0 in this case) and steps by 15. They are equivalent for minutes; for hours */6 means 0,6,12,18.
Can I trigger a job on the last day of the month?
Standard cron has no special "last day" token (some flavors add L, but not the original spec). You can approximate it with 28-31 in day-of-month, or schedule on day 1 and check the previous month inside your job.

Related tools

Developer

Explore other tools

All tools