Asistente RD

Crontab expression explainer

Translate any 5-field cron (crontab) expression into plain English and preview the next run times. Supports asterisk, */n, lists and ranges.

Free · No sign-up · In your browser

At 9:00, Monday through Friday

Minute

0

Hour

9

Day of month

*

Month

*

Day of week

1-5

Next runs

  • Thu, Jul 9, 2026, 9:00 AM
  • Fri, Jul 10, 2026, 9:00 AM
  • Mon, Jul 13, 2026, 9:00 AM
  • Tue, Jul 14, 2026, 9:00 AM
  • Wed, Jul 15, 2026, 9:00 AM

Computed in your device's time zone.

Share on WhatsApp Last reviewed: July 8, 2026

What a cron expression is

cron is the task scheduler built into Unix and Linux systems: a background daemon that runs commands automatically at the times you choose. Every line in a crontab file begins with a cron expression — five space-separated values that answer a single question: when should this job run?

The catch is that those five numbers and symbols are hard to read at a glance. 0 3 * * 0 tells you nothing until you translate it into “at 3:00 in the morning, every Sunday.” This tool does exactly that translation: paste an expression and get a plain-English sentence, plus the next dates it would fire. Everything happens in your browser — nothing is sent to a server.

The five fields

A standard cron expression has five fields, always in this order:

PositionFieldValid range
1Minute0-59
2Hour0-23
3Day of month1-31
4Month1-12
5Day of week0-7 (0 and 7 = Sunday)

They read left to right, from the smallest unit of time to the largest. The job runs when every field matches the current moment, with one twist: if you set both the day of month and the day of week, cron fires when either one matches.

Syntax: the four symbols

  • * (asterisk): “any value.” In the hour field it means “every hour.”
  • , (comma): a list of values. 1,15,30 in the minute field is three specific moments.
  • - (hyphen): a range. 1-5 in the day-of-week field is Monday through Friday.
  • / (slash): a step or interval. */15 in the minute field is “every 15 minutes,” and it also works on a range, such as 0-30/10.

Worked example

Take */20 9-17 * * 1-5 field by field:

  • Minute */20 → minutes 0, 20, and 40 — every 20 minutes.
  • Hour 9-17 → from 9 to 17 (nine hours total).
  • Day of month * → any day.
  • Month * → any month.
  • Day of week 1-5 → Monday through Friday.

The translation reads: “Every 20 minutes, between 9:00 and 17:59, Monday through Friday.” How often does it run? Three times an hour times nine hours is 27 runs on each weekday, and none on the weekend. It is a common pattern for syncing data only during office hours.

Common examples

ExpressionMeaning
* * * * *Every minute
*/15 * * * *Every 15 minutes
0 * * * *Every hour, on the hour
0 9 * * 1-5At 9:00, Monday through Friday
0 0 1 * *At 0:00, on day 1 of the month
30 3 * * 0At 3:30, on Sundays
0 0 * * 6,0At midnight on weekends

Frequently asked questions

What does the asterisk mean in cron?

The asterisk * means “every possible value for this field.” A * in the hour field covers all 24 hours; in the month field, all 12 months. When all five fields are asterisks (* * * * *), the job runs every single minute.

How often does */5 * * * * run?

Every five minutes, around the clock, every day: at minutes 0, 5, 10, 15… through 55 of each hour. That is 12 runs per hour and 288 per day. Swap the 5 for any interval you like — just remember that */7 does not divide evenly at the end of an hour, because 60 is not a multiple of 7.

Is Sunday 0 or 7?

Both. In the day-of-week field, 0 and 7 both mean Sunday; Monday is 1 and Saturday is 6. This duplication exists for historical compatibility across different cron implementations, so use whichever you find clearer.

Why does my job run at a different time than expected?

It is almost always the time zone: cron uses the server’s local time, which may not match yours. This tool computes the next runs in your device’s time zone as a handy reference, but always double-check the settings of the server where the crontab actually lives.

Related tools