ToolJoltTools
Developers

Cron Expressions Explained: Scheduling Made Simple

Cron runs the scheduled jobs that keep systems alive โ€” backups, reports, cleanups. Its five-field syntax looks cryptic but follows a simple pattern.

By ToolJolt Team ยท May 6, 2026

The five fields

A standard cron expression has five fields, in order: minute (0โ€“59), hour (0โ€“23), day of month (1โ€“31), month (1โ€“12) and day of week (0โ€“6, Sunday = 0). Each field says 'when' along that dimension, and the job runs when all of them match.

Special characters

  • * means 'every' value of that field.
  • , lists values: 1,15,30.
  • - gives a range: 9-17.
  • / sets steps: */15 in minutes means every 15 minutes.

Patterns you can copy

  • 0 * * * * โ€” every hour, on the hour.
  • */15 * * * * โ€” every 15 minutes.
  • 0 9 * * 1-5 โ€” 9:00 AM on weekdays.
  • 0 0 1 * * โ€” midnight on the 1st of every month.

The day-of-week gotcha

When you set both day-of-month and day-of-week, most cron implementations run the job if either matches โ€” not both. This surprises people who expect an 'and'. If timing is critical, keep one of the two as * to avoid ambiguity.

Build and read expressions

ToolJolt's cron tools turn plain English into an expression and visualise what a crontab line actually does, so you can schedule with confidence.

Free tools mentioned in this guide

Frequently asked questions

What does */5 mean in cron?

In the minute field, */5 means 'every 5 minutes'. The slash sets a step interval across the field's range.

What are the five cron fields?

Minute, hour, day of month, month, and day of week โ€” in that order. The job runs when all fields match the current time.

Why does my job run more often than expected?

Often the day-of-month/day-of-week 'either matches' rule. If both are set, many crons run on either condition. Leave one as * to be precise.

More from the blog

Sponsored