Cron Calculator
Enter a cron expression to calculate exactly when it will next run. This cron calculator lists the next 10 run times in your timezone and counts how often the schedule fires — per day and over the next year — so you can check a crontab line before it goes live.
At 9:00am on day 1 and 15 of the month.
0 9 1,15 * *Standard 5-field crontab syntax. Day of month and day of week are OR'd when both are set.
How the next run time is calculated
Cron doesn't keep a countdown. Every minute, the cron daemon compares the current time with each line of the crontab and starts the jobs whose five fields all match: minute, hour, day of month, month and day of week. The calculator does the same thing in reverse — starting from the next whole minute, it steps forward through the calendar and records every moment that matches, until it has ten.
Two rules shape the result. The day of month and day of week fields are combined with OR when both are restricted, so 0 0 13 * 5 produces the 13th of every month and every Friday. And dates that don't exist are skipped — 0 0 31 * * jumps from 31 January straight to 31 March. The calculator applies both rules, which is why its list can look different from what you expected; catching that is usually the point of checking.
What the run count tells you
Below the list, the calculator multiplies the schedule out: how many times it fires on each day it runs, on how many of the next 365 days, and roughly how many runs that makes in a year. */15 * * * * comes to 96 runs a day and 35,040 a year; 0 9 * * 1-5 to about 261 a year.
The numbers are a quick sanity check. A line meant to run hourly that has * in the minute field shows 1,440 runs a day instead of 24. They also help with budgeting — API quotas, email-sending limits, per-invocation costs on a serverless platform — before a cron job starts spending them.
Why your server might run it at different times
The calculator uses your browser's timezone, shown above the list. The cron scheduler on your server uses the server's timezone, which is very often UTC. If the two differ, the job runs at the same clock times shown here but in the server's zone, so a run listed at 09:00 may really happen at 10:00 or 04:00 your time. Around daylight saving changes, Vixie cron and cronie run a fixed-time job from the skipped hour just after the change, and run a job in the repeated hour only once.
Checking a schedule by hand
For simple expressions you can work out the next run yourself: find the next minute listed in the minute field, then the next hour in the hour field, and so on out to the date fields. For 30 2 * * 1, the next run is 02:30 on the coming Monday — or today, if today is Monday and it isn't 02:30 yet. Steps, lists and the OR rule make this slow and easy to get wrong, which is what the calculator is for.
To build an expression from a description instead, use the cron expression generator; to check one for mistakes, use the cron expression validator.
Frequently asked questions
How do I calculate the next run time of a cron job?
Enter the expression in the calculator above. It steps forward from the current minute and lists the next 10 times at which all five fields match, in your timezone.
Does the cron calculator use my timezone or UTC?
Your browser's timezone, which is shown above the run times. A server runs the same schedule in its own timezone — often UTC — so convert the times if the two differ.
How many times a day does a cron job run?
Multiply the number of values in the minute field by the number in the hour field. */10 9-17 * * * has 6 minutes and 9 hours, so it runs 54 times on each day it fires; the calculator does this for any expression.
Why does the calculator show dates I didn't expect?
Usually because both day of month and day of week are set, which cron combines with OR, or because the schedule uses a date such as the 31st that some months don't have. The list shows exactly what cron will do.