Cron Expression Explainer and Next Run Times

Paste a cron expression to see what it means in plain English and the next 5 times it runs in your time zone. Free and runs in your browser.

Runs in your browser. Nothing is uploaded.

Example

Input:

*/15 9-17 * * 1-5

Result:

Every 15 minutes, between 09:00 and 17:59, on Monday through Friday.

The five cron fields

A standard 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) and day of week (0-6 or SUN-SAT, where 0 and 7 are Sunday). An asterisk means every value. A list such as 1,15 picks specific values, a range such as 9-17 picks everything in between, and a step such as */15 or 0-30/10 picks every nth value.

This tool also accepts the common macros @yearly, @monthly, @weekly, @daily and @hourly, and turns each expression into a sentence plus the next five run times in your browser's local time zone.

Day of month and day of week together

The rule that surprises most people: when both day of month and day of week are restricted, classic cron runs when either one matches, not both. So 0 9 1 * 1 runs at 09:00 on the 1st of every month and also on every Monday. If you need "the first Monday of the month", schedule every Monday and check the date inside the job.

Two more traps: day 31 only exists in seven months, so 0 0 31 * * skips the rest, and 0 0 30 2 * never runs at all. For "last day of the month", run daily and check whether tomorrow is the 1st.

Time zones and Node.js schedulers

Cron runs in the time zone of the machine or container that executes it, and servers and Docker images usually run in UTC. A job written as 0 9 * * * on a UTC server runs at 14:00 in Pakistan. Libraries such as node-cron and croner accept a timezone option, and hosted schedulers usually let you set one too. Also plan for overlap and failure: if a job can take longer than its interval, add a lock so two runs do not process the same data, and log every run so a silent failure shows up.

Frequently asked questions

What does */5 mean in cron?

Every 5th value of that field. In the minute field, */5 runs at minutes 0, 5, 10 and so on.

Is Sunday 0 or 7?

Both. Most cron implementations accept 0 and 7 for Sunday; this tool does too.

Does it support seconds?

No. It explains the standard five-field format. Six-field formats with seconds (used by some Node.js libraries) are not supported.

Which time zone are the next runs shown in?

Your browser's local time zone. Your server may use a different one, often UTC.

Related tools