A cron expression generator is one of those tools every developer has bookmarked under three different vendor names and forgets which one wasn't covered in trackers. The ABUZ8 cron tool is free, runs entirely in your browser, and shows you exactly what your expression will do — including the next ten times it will fire, in your local time zone.
This post is the cron field guide most readme files refuse to write. By the end you'll know the syntax cold, the gotchas that bite people in production, and the dialect differences between standard cron, GitHub Actions, AWS EventBridge, Kubernetes CronJobs, and Vercel Cron.
Standard cron is five fields, space-separated, left to right:
minute hour day-of-month month day-of-week
Each field accepts: a number, a comma-separated list, a range with a dash, a step value with a slash, or an asterisk meaning "every." That's the entire syntax. The complexity comes from how the fields combine.
A few canonical examples to anchor the rest of the post:
* * * * * — every minute0 * * * * — every hour, on the hour0 9 * * * — every day at 09:000 9 * * 1-5 — every weekday at 09:00*/5 * * * * — every 5 minutes0 0 1 * * — first of every month at midnight0 0 1 1 * — January 1st at midnight (once a year)The single most common cron bug: people assume day-of-month and day-of-week intersect. They don't. The two fields are combined with OR.
0 9 1 * 1 does not mean "the first of the month, if it's a Monday." It means "the first of the month, OR any Monday, at 09:00." That's potentially 5–6 firings a month, not one.
If you actually want the intersection — "first of the month and a Monday" — you need a workaround. The classic: cron once a day and check in your script. Or use a system that supports L (last) and W (weekday) extensions, like Quartz cron.
*/5 * * * * means "every 5 minutes starting at minute 0." So it fires at :00, :05, :10, :15, etc. Reliable, predictable.
3/5 * * * * means "starting at minute 3, every 5 minutes." So it fires at :03, :08, :13, :18. Useful when you want to stagger jobs to avoid thundering-herd at :00.
1-50/5 * * * * means "between minute 1 and minute 50, every 5 minutes." So it fires at :01, :06, :11, ..., :46. Not :51 or beyond.
Cron is not one syntax. Six dialects matter:
Standard Unix cron. Five fields. Day-of-week 0–6, Sunday = 0 (sometimes also 7). The baseline.
Vixie cron / crontab. Same five fields, plus a sixth optional "command" field. Allows shortcuts like @daily, @hourly, @reboot.
Quartz cron (used by Java, Spring, some Kubernetes tools). Six or seven fields: seconds, minutes, hours, day-of-month, month, day-of-week, optional year. Supports L (last), W (nearest weekday), # (nth occurrence). Day-of-week is 1–7 with Sunday = 1.
GitHub Actions cron. Five fields, POSIX-style. Runs in UTC only. Note: schedules are best-effort — GitHub explicitly says they may not run on time or at all during high-load periods. Don't use it for anything that must run at a precise moment.
AWS EventBridge cron. Six fields with day-of-week 1–7, Sunday = 1. Day-of-month and day-of-week cannot both be specified — one must be ?. Runs in UTC by default but supports specified time zones.
Kubernetes CronJob. Five fields, standard syntax. Cluster time zone applies unless you set spec.timeZone. Beware: missed jobs may run late or be skipped based on startingDeadlineSeconds.
Vercel Cron. Five fields, runs in UTC. Free tier is hourly minimum.
Half of all "my cron job didn't run when I expected" issues are time zone confusion. Three things to nail down before you ship a schedule:
The ABUZ8 tool does four things at once:
All of this runs client-side. The page has no backend. You can save the bookmark, take it on a plane, use it offline.
0 9 * * 1-5 — workdays at 09:00 (daily standup reminder)*/15 * * * * — every 15 minutes (health check)0 */6 * * * — every 6 hours (refresh task)0 2 * * * — 02:00 daily (nightly backup or cleanup)0 0 * * 0 — Sunday midnight (weekly summary)0 0 1 * * — first of month midnight (monthly report)0 0 1 1 * — yearly (January 1st)Memorize those seven and you'll never need to think about cron syntax for 95% of real jobs. The other 5% is what the generator is for.
The cron generator is one of 100 dev tools in the QADIR OS suite — SQL, regex, JSON, API tester, code review, all in one sovereign desktop. Early access opens this quarter.
Join Early Access