RSRobince Studio

Cron Expression Explainer

Paste a cron schedule and instantly read what it means in plain English, check whether it is valid, and see exactly when it will next run. Useful for crontab entries, CI pipelines and scheduled jobs.

Runs in your browser. Your files are never uploaded.

Loading Cron Expression Explainer…

How to use Cron Expression Explainer

  1. Type or paste a 5-field cron expression, or choose a preset.
  2. Read the plain-English description and the field table.
  3. Check the next five run times and switch between local time and UTC.
  4. If an error appears, fix the field it names.

Reading a cron expression

Cron is a time-based job scheduler found on Unix-like systems, and its five-field expression format has been copied by countless tools. Reading it left to right, the fields say which minutes, hours, days of the month, months and weekdays the job should run on. A job fires only when every field matches the current minute.

An asterisk matches every value. A step like */10 in the minute field means every ten minutes. A range such as 9-17 means each hour from 9 through 17. A list such as 1,15 means the 1st and 15th. These can be combined, for instance 0,30 9-17 * * 1-5 means on the hour and half hour during work hours on weekdays.

Common mistakes

The most frequent error is putting an asterisk in the minute field when you meant a single run. The expression * 3 * * * runs every minute from 3:00 to 3:59, sixty times, not once. Use 0 3 * * * for one run at 3:00.

Time zones are another trap. Cron normally uses the server time zone, which is often UTC on cloud machines. Daylight saving changes can skip or repeat jobs scheduled in the shifted hour.

  • Redirect output of cron jobs to a log file so failures are visible.
  • Use absolute paths, since cron runs with a minimal environment.
  • Avoid scheduling many jobs at the same exact minute, such as midnight.

How the tool computes results

The description comes from the cronstrue library. The run times come from a separate evaluator that expands each field into a set of allowed values and walks forward day by day until it has found five future matches. It searches up to nine years ahead, enough to find a leap-day schedule.

Non-standard extras such as L, W, # or a question mark are not supported by the evaluator and will be reported as invalid. Everything is computed in your browser.

Why use this cron expression explainer tool

  • Plain-English output. Uses the cronstrue library to describe the schedule in readable sentences.
  • Next five runs. Calculated by a small built-in evaluator, so you can verify the schedule behaves as you expect.
  • Specific errors. Tells you which field is out of range or malformed instead of a generic failure.
  • Presets and macros. One-click common schedules and support for macros such as @daily and @hourly.

Frequently asked questions

What are the five fields?

In order: minute (0-59), hour (0-23), day of month (1-31), month (1-12 or JAN-DEC) and day of week (0-6 or SUN-SAT, where 0 and 7 both mean Sunday). Each can be an asterisk, a number, a list with commas, a range with a hyphen or a step such as */15.

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

In standard Unix cron, when both fields are restricted, the job runs when either one matches, not only when both match. For example, 0 0 13 * 5 runs on the 13th of every month and also on every Friday.

Why does my scheduler reject a valid expression?

Not every scheduler uses the 5-field format. Quartz and Spring use six or seven fields including seconds, AWS EventBridge has its own syntax and requires a question mark in one field, and some systems use their own time zone. Check the documentation for your platform.

More free tools