Cron Next Run Time Calculator
Cron Next Run Time Calculator
Enter a standard 5-field cron expression (minute, hour, day of month, month, day of week) to see its next 3 scheduled run times in UTC, without needing to deploy it or wait to see if it fires correctly.
The five fields run in a fixed order — minute (0-59), hour (0-23), day of month (1-31), month (1-12), and day of week (0-6, where 0 is Sunday) — and support the standard cron building blocks: an asterisk for "every value," comma-separated lists like 1,15,30, ranges like 9-17, and step values like */15 for "every 15 units." Previewing the next few run times before deploying a cron job catches the classic off-by-one mistakes (like scheduling for the wrong hour in UTC, or mixing up day-of-month with day-of-week) well before they cause a job to run at 3 AM instead of 3 PM in production.
- Supported syntax:
*(every value), lists (1,15,30), ranges (9-17), and step values (*/15), the standard building blocks of cron expressions. - Field order: minute (0-59), hour (0-23), day of month (1-31), month (1-12), day of week (0-6, where 0 = Sunday) — five fields separated by spaces.
- Always UTC: results are calculated in UTC, matching how most servers and cloud schedulers (cron, Kubernetes CronJobs, GitHub Actions) interpret cron expressions by default, avoiding browser-timezone confusion.
What does "0 9 * * 1" mean?
Minute 0, hour 9, any day of month, any month, weekday 1 (Monday) — so it runs every Monday at 09:00 UTC.
Why does it say "Invalid cron expression"?
A standard cron expression needs exactly 5 space-separated fields — check for extra spaces, missing fields, or unsupported syntax (like named months/weekdays, which this tool doesn't parse).
Cron Next Run Time Calculator


Enter a standard 5-field cron expression (minute, hour, day of month, month, day of week) to see its next 3 scheduled run times in UTC, without needing to deploy it or wait to see if it fires correctly.
The five fields run in a fixed order — minute (0-59), hour (0-23), day of month (1-31), month (1-12), and day of week (0-6, where 0 is Sunday) — and support the standard cron building blocks: an asterisk for "every value," comma-separated lists like 1,15,30, ranges like 9-17, and step values like */15 for "every 15 units." Previewing the next few run times before deploying a cron job catches the classic off-by-one mistakes (like scheduling for the wrong hour in UTC, or mixing up day-of-month with day-of-week) well before they cause a job to run at 3 AM instead of 3 PM in production.

- Supported syntax:
*(every value), lists (1,15,30), ranges (9-17), and step values (*/15), the standard building blocks of cron expressions. - Field order: minute (0-59), hour (0-23), day of month (1-31), month (1-12), day of week (0-6, where 0 = Sunday) — five fields separated by spaces.
- Always UTC: results are calculated in UTC, matching how most servers and cloud schedulers (cron, Kubernetes CronJobs, GitHub Actions) interpret cron expressions by default, avoiding browser-timezone confusion.
What does "0 9 * * 1" mean?
Minute 0, hour 9, any day of month, any month, weekday 1 (Monday) — so it runs every Monday at 09:00 UTC.
Why does it say "Invalid cron expression"?
A standard cron expression needs exactly 5 space-separated fields — check for extra spaces, missing fields, or unsupported syntax (like named months/weekdays, which this tool doesn't parse).
