buildcron

Cron expression generator, calculator and validator.

Type a cron expression to validate it, read it in plain English and calculate its next run times — or describe a schedule in plain English to generate the cron. Free, no login, nothing saved.

CRON → ENGLISH
*/5 minute* hour* day of month* month* day of week
VALID EXPRESSION

Every 5 minutes.

*/5 * * * *

Standard 5-field crontab syntax. Day of month and day of week are OR'd when both are set.

NEXT 5 RUN TIMES · local time

See the next ten runs and how often a schedule fires in the cron calculator, or check an expression for mistakes with the cron validator.

Cron syntax reference

Five fields, separated by spaces, in this order.

FIELD 1
Minute
0 – 59
Minute of the hour.
FIELD 2
Hour
0 – 23
24-hour clock. 0 is midnight.
FIELD 3
Day of month
1 – 31
Combined with day of week using OR.
FIELD 4
Month
1 – 12
Names work too: JAN – DEC.
FIELD 5
Day of week
0 – 6
0 and 7 are Sunday. SUN – SAT work.
*every value in the field
,list: 1,15,30
-range: 9-17
/step: */5, 10-50/10

Full cron format and syntax cheatsheet →

Common schedules

Tap any one to load it into the tool.

Browse all cron expression examples →

Questions

What does */5 * * * * mean?

It runs every 5 minutes — at minute 0, 5, 10 … 55 of every hour, every day. The slash is a step: */5 in the minute field means “start at 0 and repeat every 5”.

What order are the five fields in?

Minute, hour, day of month, month, day of week. A sixth leading field for seconds exists in some schedulers (Quartz, node-cron) but standard crontab has five.

Why did my job run on a day I didn't expect?

If you restrict both day of month and day of week, cron treats them as OR, not AND. 0 0 13 * 5 runs on the 13th and on every Friday. Leave one of the two as * to avoid surprises.

What timezone does cron use?

The system timezone of the machine running it, unless the scheduler lets you set one (CRON_TZ=, or a timezone option). Run times on this page use your browser's timezone.

Can I run something every 30 seconds?

Not with standard cron — one minute is the smallest interval. Use a one-minute job with a sleep, a systemd timer, or a scheduler with seconds support.

What's the difference between 0 */2 * * * and * */2 * * *?

The first runs once at the top of every second hour. The second runs every minute during those hours — 60 times more often. Don't leave the minute field as *.