Skip to main content

Developer Tools

Cron Expression Explainer

Understand each field in a five-field cron schedule.

Cron Expression Explainer tool

Loading tool…

Jump to a section

About This Tool

Cron expressions are compact schedule descriptions used by crontab and many automation systems, but a short string such as 30 9 * * 1-5 can be difficult to review at a glance. This tool validates the basic syntax and explains each field separately so you can spot an incorrect minute, hour, date range, list, or step before copying the expression into a scheduler. Parsing happens locally in your browser and the tool does not create or run scheduled jobs.

How To Use It

  1. Enter a standard five-field expression in the order minute, hour, day of month, month, and day of week.
  2. Review the validation message or the five field cards. The parser supports wildcards, comma-separated lists, ranges, positive step values, numeric fields, and common JAN-DEC or SUN-SAT names where appropriate.
  3. Confirm the scheduler that will receive the expression uses the same cron dialect and timezone assumptions. Cron implementations can differ, especially outside classic five-field syntax.
  4. Copy the normalized expression only after checking the destination system's documentation and expected timezone.

Examples

Weekdays at 09:30

30 9 * * 1-5 means minute 30, hour 9, every day of the month, every month, and weekdays numbered 1 through 5. The actual timezone comes from the scheduler, not from the expression itself.

Every 15 minutes

*/15 * * * * uses a step on the minute field. It selects every 15th value across the minute field while the remaining fields allow every value.

Twice a month in selected months

0 8 1,15 JAN,MAR * selects 08:00 on the 1st and 15th during January and March, subject to the destination cron implementation's calendar and timezone behavior.

Useful Notes

The five standard fields

Classic cron uses minute (0-59), hour (0-23), day of month (1-31), month (1-12), and day of week (commonly 0-7, where 0 and 7 represent Sunday). This tool intentionally requires exactly those five fields rather than guessing whether a sixth field is seconds or a year.

Wildcards, lists, ranges, and steps

An asterisk selects the allowed range for a field. Commas form lists such as 1,15, ranges use a hyphen such as MON-FRI, and a slash applies a positive step such as */10 or 8-18/2. The parser validates values against the field's numeric range.

Cron dialects differ

Not every scheduler implements cron identically. Quartz-style expressions, cloud schedulers, CI systems, application libraries, and managed platforms may add seconds, years, special characters, or different day-of-week rules. Always treat the destination system's documentation as authoritative.

Timezone and daylight-saving time

A five-field cron expression contains no timezone. The scheduler decides which timezone applies. Daylight-saving transitions can cause local clock times to be skipped or repeated, so timezone-sensitive production schedules should be checked against the behavior of the actual scheduler.

Day-of-month and day-of-week semantics

When both day-of-month and day-of-week are restricted, implementations can differ in how those constraints combine. This explainer describes each field independently instead of claiming a next-run time that could be wrong for a particular cron dialect.

FAQ

Does this calculate the next run time?

No. Next-run calculation depends on cron dialect, timezone, calendar rules, and daylight-saving behavior. This tool focuses on safely validating and explaining standard five-field syntax.

Why does the tool reject six fields?

Classic crontab syntax has five scheduling fields. Some systems prepend seconds or append a year. Because those dialects are not interchangeable, this tool rejects extra fields rather than silently interpreting them incorrectly.

Can I use JAN or MON instead of numbers?

Yes. Common three-letter English month names JAN through DEC and weekday names SUN through SAT are accepted in the appropriate fields, including lists and ranges.

What timezone does my cron expression use?

The expression itself does not define one. The operating system, service, library, container, or cloud scheduler determines the timezone unless that platform provides a separate timezone setting.