Cron Expression Builder
Build a cron expression part-by-part, get a plain-English description, and preview the next five scheduled runs in your timezone. Handles ranges, lists, step values, and named days.
Build a cron expression field by field and see exactly what it means before it ever hits your crontab or CI pipeline. Set the minute, hour, day-of-month, month and day-of-week, pick your timezone, and the tool returns the assembled expression, a plain-English description, and a preview of the next five times it will actually fire.
curl -X POST https://toolsamurai.com/api/v1/programming-dev/cron-expression-builder \ -H "Authorization: Bearer sk_live_•••••••••••••••" \ -H "Content-Type: application/json" \ -d '{ "minute": "0", "hour": "9", "day_of_month": "*", "month": "*", "day_of_week": "1-5", "timezone": "Asia/Kolkata" }'
The method behind the numbers
A standard cron expression has five fields — minute, hour, day-of-month, month, day-of-week — each accepting a single value, a list (1,15), a range (9-17), a step (*/5), or a wildcard (*). The builder validates each field, assembles the expression, and translates it back into a sentence so you can sanity-check intent against syntax.
The next-run preview is timezone-aware, which is where most cron mistakes hide: a schedule that looks right in UTC can fire at the wrong local hour, and the day-of-month / day-of-week fields combine with an OR in standard cron, not an AND. Seeing the next five concrete timestamps in your chosen timezone catches both traps before they cause a 3 a.m. page.
See it in practice
A common business-hours job: minute 0, hour 9, Monday–Friday.
- minute
- 0
- hour
- 9
- day_of_month
- *
- month
- *
- day_of_week
- 1-5
- timezone
- Asia/Kolkata
A frequent polling schedule using a step value.
- minute
- */15
- hour
- *
- day_of_month
- *
- month
- *
- day_of_week
- *
- timezone
- UTC
Frequently asked questions
How do day-of-month and day-of-week interact?
In standard (Vixie) cron, when both fields are restricted the job runs when EITHER matches — it's an OR, not an AND. So '0 0 13 * 5' runs on the 13th and on every Friday, not only Friday the 13th. The next-run preview makes this explicit.
What does */5 mean?
A step value: 'every 5th'. In the minute field, */5 fires at minutes 0, 5, 10, … 55. You can combine steps with ranges too — 0-30/10 means minutes 0, 10, 20, 30.
Why does timezone matter for cron?
Cron fires in whatever timezone its host uses. A schedule authored mentally in your local time can run hours off on a UTC server, and daylight-saving transitions can skip or double a run. Previewing concrete timestamps in your timezone removes the guesswork.
Is this standard 5-field cron or the 6-field variant?
It builds the classic 5-field crontab expression used by Unix cron, most CI systems, and Kubernetes CronJobs. The 6-field form (with seconds) used by some schedulers like Quartz isn't produced here.
Embed Cron Expression Builder on your site
Sign in to configure the live preview, theme, defaults, locked inputs, and analytics ID from the embed dashboard.