Skip to content
Tezmy Tools

Cron Expression Generator

Build a cron schedule, read it in plain English and see the next runs

*/15Minute
*Hour
*Day of month
*Month
*Day of week

Every 15 minutes

Next 5 runs

Build one

Or set it up step by step

Cron syntax

SymbolMeaning
*Every value (every minute, every hour, ...)
,A list: 1,15 means 1 and 15
-A range: 9-17 means 9 through 17
/Steps: */15 is every 15th value, 10-40/10 is 10, 20, 30, 40
JAN-DECMonth names instead of 1-12
SUN-SATDay names instead of 0-6 (7 also means Sunday)

This tool supports the standard 5-field cron format. Run times use your device's current UTC offset and don't account for daylight saving changes on other dates. It shows when the expression would run; it doesn't schedule anything.

Runs in your browser. Nothing is uploaded.

About the Cron Expression Generator

Cron Expression Generator helps you write and check the five-field schedules used by cron, crontab and many task schedulers. Type an expression such as */15 * * * * and the tool describes it in plain English and lists the next five times it would run in your local time. If you don't know the syntax, press one of the ready-made schedules or use the step-by-step builder for minutes, hours, days, weeks and months. Mistakes are explained in plain words, for example a value that is out of range. The tool covers standard five-field cron only, not the six-field or Quartz styles, and it shows when a schedule would run without scheduling anything.

Updated September 2026

How to use the Cron Expression Generator

  1. 1Type a cron expression, or press one of the ready-made schedules.
  2. 2Or use the step-by-step builder: choose Every minute, hour, day, week or month and fill in the numbers.
  3. 3Read the plain-English description and check the next five run times.
  4. 4Press Copy expression and paste it into your crontab or scheduler.

The five cron fields

A cron expression is five values separated by spaces, read from left to right: minute, hour, day of month, month and day of week. The job runs whenever the current time matches all five fields. A star matches every value, so * * * * * runs every minute, and 30 9 * * * runs at 09:30 every day.

The fields under the expression box show which value goes where, and the sentence beneath them describes the schedule in plain English so you can catch a mistake before it reaches a server.

Special characters: *, comma, dash and slash

  • The star * means every value in the field.
  • A comma makes a list: 1,15 in the day field means the 1st and the 15th.
  • A dash makes a range: 9-17 in the hour field means 9 through 17.
  • A slash sets a step: */10 means every 10th value, and 5-30/10 means 5, 15 and 25.
  • Names work in the month and weekday fields: JAN to DEC and SUN to SAT.
  • A question mark is accepted in the two day fields and treated like a star.

Common schedules

Every five minutes is */5 * * * *. Every hour on the hour is 0 * * * *. Midnight every day is 0 0 * * *. Weekdays at 9:00 is 0 9 * * 1-5. The first day of every month is 0 0 1 * *. To run every 15 minutes during office hours on weekdays, use */15 9-17 * * 1-5.

The ready-made buttons fill in these schedules. The step-by-step builder writes an expression from your choices, and you can then edit it by hand.

Time zones and daylight saving

Cron itself has no time zone. The system that runs it decides whether the times mean local time or UTC. The run times on this page use the UTC offset your device has at this moment and do not follow clock changes on other dates, so a schedule that crosses a daylight saving change may differ by an hour.

Different schedulers also have small differences, such as six fields with seconds or special characters like L. Check the documentation of the system you use. To convert times between zones, use Time Zone Converter, and for epoch numbers see Unix Timestamp Converter. Test the date rules with the Days Between Dates tool, and check a pattern in the Regex Tester when you build a job name.

Features

  • Plain-English description of the schedule
  • Next 5 run times in your local time
  • Nine ready-made schedules
  • Step-by-step builder with weekday checkboxes
  • Clear messages for out-of-range values and bad ranges
  • Syntax table for * , - / and month and day names

Frequently asked questions

What does */15 * * * * mean?

It means every 15 minutes. The first field is the minute, and */15 means every 15th value, so the job runs at minutes 0, 15, 30 and 45 of every hour, every day. The four stars after it mean any hour, any day of the month, any month and any day of the week.

How do I run a cron job every day at 9 am?

Use 0 9 * * *. The 0 is the minute, the 9 is the hour in 24-hour time, and the three stars mean every day, every month and every weekday. For 9:30 in the morning, change the first number to 30.

What is the order of the five cron fields?

Minute, hour, day of month, month and day of week, separated by spaces. Minutes run from 0 to 59, hours from 0 to 23, days from 1 to 31 and months from 1 to 12. Days of the week run from 0 to 6 starting with Sunday, and 7 also means Sunday.

What happens if I set both day of month and day of week?

In standard cron, when both fields are restricted, a day matches if either one matches. So 0 0 13 * 5 runs on every Friday and also on the 13th of each month. If only one of the two is restricted, that one alone decides.

How do I run a job on weekdays only?

Put 1-5 in the day-of-week field, for example 0 9 * * 1-5 for 9:00 on Monday through Friday. The ready-made Every weekday at 9:00 button fills this in for you.

Does cron use my local time zone?

That depends on the system that runs the job, which may use its own local time or UTC. This page shows the next runs using the UTC offset your browser has right now. It doesn't account for daylight saving changes on other dates, so check your scheduler's documentation.

Does it support seconds, L, W or # characters?

No. It handles the standard five-field format only. Six-field expressions with seconds and Quartz-style characters such as L, W and # are not supported, and typing six fields gives a message asking for exactly five.

Related tools