Skip to content
Toolzent

Cron Expression Generator

Build a valid cron expression with presets or custom fields, and read it back in plain English. Covers minute, hour, day, month and weekday with * , - / syntax.

Updated 2026-06-14 · Free · No sign-up · Runs privately in your browser

Cron expression

Field reference

* * * * * = minute, hour, day-of-month, month, day-of-week.

* means every value, */5 every 5th value, 1-5 a range, 1,15 a list.

Day-of-week: 0 and 7 are both Sunday, 1 = Monday … 6 = Saturday.

How the Cron Expression Generator Works

This tool builds a valid 5-field cron expression and explains it back to you in plain English. Pick a common schedule from the preset list, or type into the five fields — minute, hour, day of month, month, and day of week — to craft a custom schedule. The expression and its description update live, and you can copy the result straight into a crontab or scheduler.

Cron is the time-based job scheduler used on Unix and Linux systems and supported by many CI/CD platforms, container orchestrators and cloud functions. A cron expression is a compact way to say “run this job on this schedule.”

The Format

A standard cron expression has five space-separated fields:

minute hour day-of-month month day-of-week

Each field accepts:

  • a single number, e.g. 5
  • * — every allowed value (the wildcard)
  • a range, e.g. 1-5
  • a list, e.g. 1,15,30
  • a step, e.g. */10 (every 10th value)

Field ranges are: minute 0–59, hour 0–23, day of month 1–31, month 1–12, day of week 0–6 (0 and 7 are both Sunday).

Worked Example

Suppose you want a backup every weekday at 2:30 AM:

  • Minute = 30
  • Hour = 2
  • Day of month = *
  • Month = *
  • Day of week = 1-5 (Monday to Friday)

The resulting expression is:

30 2 * * 1-5

Read in plain English: Runs at 2:30 AM, on Monday, Tuesday, Wednesday, Thursday, Friday.

Common Cron Schedules

ScheduleExpression
Every minute* * * * *
Every 5 minutes*/5 * * * *
Every hour, on the hour0 * * * *
Every day at midnight0 0 * * *
Every Sunday at midnight0 0 * * 0
First of each month0 0 1 * *
Once a year (Jan 1)0 0 1 1 *

Tips for Reliable Cron Jobs

Cron runs in the server’s time zone, so confirm whether that is UTC or local before relying on an hour value. Avoid scheduling many heavy jobs at the same instant (such as 0 0 * * *); stagger them by a few minutes to spread load. Finally, remember that in standard cron, setting both day-of-month and day-of-week to specific values makes the job run when either matches — keep one field as * unless you truly want that OR behaviour.

Frequently asked questions

What are the five fields in a cron expression?+

From left to right they are minute (0-59), hour (0-23), day of month (1-31), month (1-12) and day of week (0-6, where 0 and 7 are both Sunday). So '0 9 * * 1-5' means at 9:00 every Monday through Friday.

What does an asterisk mean in cron?+

An asterisk (*) means 'every' value for that field. '* * * * *' runs every minute. '0 * * * *' runs at minute 0 of every hour. The asterisk is the wildcard that matches all allowed values for that position.

How do I run a cron job every 15 minutes?+

Use a step value in the minute field: '*/15 * * * *'. The '/15' means every 15th minute starting from 0, so the job fires at :00, :15, :30 and :45 of every hour, every day.

How do I schedule a job on weekdays only?+

Put a range in the day-of-week field. '0 0 * * 1-5' runs at midnight Monday through Friday. You can also use a list, for example '0 0 * * 1,3,5' for Monday, Wednesday and Friday only.

What is the difference between day of month and day of week?+

Day of month (field 3) selects calendar dates like the 1st or 15th. Day of week (field 5) selects weekdays like Monday. In standard cron, if you set both to non-wildcard values the job runs when either condition matches, so leave one as * unless you intend that behaviour.