cronwizard.

Paste an expression, a few lines, or an entire crontab. Each line is parsed independently, in the timezone you choose.

Cron expression parser

1 schedule parsed · TZ: America/New_York
L1 */15 9-17 * * 1-5
Minutes 0,15,30,45 past hours 9,10,11,12,13,14,15,16,17, on Mondays, Tuesdays, Wednesdays, Thursdays and Fridays.
# America/New_York UTC in
1 2026-04-29 Wed 09:00 2026-04-29 Wed 13:00 3h 13m
2 2026-04-29 Wed 09:15 2026-04-29 Wed 13:15 3h 28m
3 2026-04-29 Wed 09:30 2026-04-29 Wed 13:30 3h 43m
4 2026-04-29 Wed 09:45 2026-04-29 Wed 13:45 3h 58m
5 2026-04-29 Wed 10:00 2026-04-29 Wed 14:00 4h 13m
Load examples: single line · multi-line · sample crontab

What this tool does

cronwizard is a free, browser-based parser for Unix cron expressions and full crontab files. Paste any schedule and you get a plain-English description, the next upcoming runs in the timezone you pick, and warnings for the mistakes that bite people in production: impossible dates, day-of-month vs day-of-week ambiguity, and schedules that fire far more often than the author probably intended.

Nothing is sent to a server you don't control: the parser, the timezone math, and the next-run computation all happen on this page. There is no signup, no API key, no rate limit, and no tracking.

Cron expression syntax in 30 seconds

A standard Unix cron expression has five fields, separated by spaces:

┌──────── minute       (0–59)
│ ┌────── hour         (0–23)
│ │ ┌──── day of month (1–31)
│ │ │ ┌── month        (1–12 or jan–dec)
│ │ │ │ ┌ day of week  (0–6 or sun–sat; 7 = Sunday too)
│ │ │ │ │
* * * * *  command-to-run

Each field accepts a single value (5), a list (1,15,30), a range (9-17), a step (*/15), or a wildcard (*). Shortcuts like @daily, @hourly, @weekly, @monthly, @yearly, and @reboot are also accepted.

Common cron expressions

Expression Means
* * * * * Every minute
*/5 * * * * Every 5 minutes
0 * * * * Every hour, on the hour
0 3 * * * Every day at 03:00
0 9 * * 1-5 Weekdays at 09:00
0 0 1 * * First day of every month at midnight
0 0 * * 0 Every Sunday at midnight
*/15 9-17 * * 1-5 Every 15 min during business hours, weekdays

Frequently asked questions

What is a cron expression?

A cron expression is a string of five fields — minute, hour, day-of-month, month, day-of-week — that tells a Unix scheduler when to run a command. For example, 0 3 * * * means every day at 3:00 AM.

Why does my cron job run at the wrong time?

The most common cause is a timezone mismatch. Traditional cron daemons run in the system's local timezone, but managed services interpret expressions differently: GitHub Actions always uses UTC, AWS EventBridge uses UTC, and Kubernetes CronJobs default to UTC unless spec.timeZone is set. Always confirm which timezone your scheduler is using before debugging the expression itself.

What does */5 * * * * mean?

It runs every 5 minutes, every hour, every day. The */5 in the minute field means "every 5 starting from 0", so it fires at :00, :05, :10, :15, and so on.

What happens when day-of-month and day-of-week are both set?

Standard Unix cron (Vixie cron) combines them with OR, not AND. The job runs if either the day-of-month or the day-of-week matches. So 0 0 1 * 1 runs on the 1st of every month and every Monday — not only on Mondays that fall on the 1st. This is one of the most frequent sources of cron bugs in production.

Can I use a cron expression like 0 0 31 2 *?

You can write it, but it will never execute. February has no 31st day, so the schedule has no valid match. Most cron daemons silently skip these instead of warning you. cronwizard flags them explicitly.

Does this tool send my crontab anywhere?

The parser runs on the page that serves it. Nothing is logged, stored, or shared with third parties. You can verify this by reading the source — it's a single PHP file.