Key takeaways
- 01Plain-English explanations make it easy to confirm what a cron job will actually do before you deploy it.
- 02The next 5 UTC run times are listed in ISO-8601 format for timezone-safe validation.
- 03Supports ranges (1-5), lists (1,3,5), and steps (*/15) following standard Vixie-cron rules.
- 04Everything runs in your browser — no backend, no account, no network request.
Why Cron Expressions Are Easy to Get Wrong
Cron syntax is compact by design, but that compactness makes it surprisingly easy to schedule a job at the wrong time. A midnight backup that fires at noon in UTC, a step expression that misses the expected times, or a day-of-week value that's off by one — these bugs are hard to catch until the job silently doesn't run. Reading 0 */6 * * 1-5 out loud doesn't tell you much unless you know the field order by heart.
Handytool's cron builder solves this by translating any valid expression into a sentence you can actually read, then showing the next five times it would fire in UTC. Catch the mistake before it reaches production, not after a scheduled task fails on a Monday morning.
How to Build and Validate a Cron Expression
- 01
Start with a preset or type your own
Presets like Every minute, Hourly, Daily at midnight, and Weekly on Monday give you a correct starting point. Switch to manual entry for custom schedules.
- 02
Enter your 5 fields
Type the expression in minute hour day-of-month month day-of-week order. The builder validates each field's bounds as you type.
- 03
Read the plain-English description
The explanation updates live. Confirm the sentence matches your intent — for example 'at :00 on every 6th hour, Monday through Friday'.
- 04
Check the next 5 run times
The upcoming fire times are listed in ISO-8601 UTC. Use them to verify edge cases like end-of-month boundaries or time zone offsets.
Cron Syntax Quick Reference
All five fields follow these rules:
- 01Asterisk (*) means every valid value in the field
- 02Slash (*/N) steps through the range in increments of N
- 03Dash (A-B) matches every value from A to B inclusive
- 04Comma (A,B,C) matches a specific list of values
- 05Field ranges: minute 0-59, hour 0-23, day 1-31, month 1-12, weekday 0-6 (Sunday=0)
No Install, No Server
The cron builder parses expressions and computes next-run times entirely in your browser using JavaScript. Nothing is sent to a server, so there's no sign-up, no API quota, and no latency. The next-runs computation simulates minute-by-minute matches against the standard Vixie-cron rules, which is the same approach used by most production schedulers.
6-field expressions (with a leading seconds field) and special strings like @daily or @weekly are not supported. Most production environments — including cron itself, Kubernetes, and GitHub Actions — use the standard 5-field form, so the builder focuses on that.
Cron Expression Builder FAQ
What cron flavor does this builder support?
Standard 5-field Vixie-cron: minute, hour, day-of-month, month, day-of-week. The @daily/@weekly shorthand and 6-field seconds syntax are not supported, as most production schedulers use the 5-field form.
Why are the next run times shown in UTC?
Most CI/CD systems and cloud schedulers interpret cron expressions in UTC. Showing UTC keeps the preview portable and avoids misleading local-time displays.
What is the difference between */15 and 0,15,30,45 in the minute field?
Both fire every 15 minutes. */15 starts from 0 and steps by 15, which is equivalent to 0,15,30,45. For the hour field, */6 means 0,6,12,18.
Can I schedule a job on the last day of the month?
Standard cron has no 'last day' token. You can approximate with 28-31 in the day field, but to handle months shorter than 31 days cleanly, check the date inside your job script.
Is there a way to run a job every weekday at 9 AM?
Yes: 0 9 * * 1-5 fires at 09:00 UTC Monday through Friday. Verify it in the builder's plain-English output and next-run list before deploying.