Ad Browse privately on public Wi-Fi See the current NordVPN offer

Cron Expression

Validate, explain, build and preview the next runs of a cron expression — with timezone and DST handling, locally in your browser.

Croner-compatible syntax with 5 or 6 fields. L, W, # and ? are supported; @reboot and a 7th (year) field are not.

🔒 Your expression is validated locally. Nothing is uploaded.

What does this tool do?

Cron Expression has two modes. Explain validates a cron schedule, explains it in plain English and shows the next executions as real dates in your timezone. Build constructs an expression from common frequencies — every N minutes, daily, weekly and so on — and immediately explains it and lists the next runs. Everything is computed locally in your browser.

The five (and six) fields

A classic cron expression has five fields:

FieldValues
minute0–59
hour0–23
day of month1–31
month1–12
day of week0–6 (0 = Sunday)

A six-field expression prepends seconds (0–59). This tool accepts exactly five or six fields. A seventh (year) field is not supported, and neither is @reboot, because it has no regular schedule.

Field syntax

  • * means every value.
  • */5 means every fifth value (a step).
  • 1-5 is a range.
  • 1,3,5 is a list.
  • 1-5/2 combines a range and a step.

Day of month and day of week

When both day-of-month and day-of-week are restricted, this tool follows the standard (Vixie) semantics and treats them as an OR: the expression fires on either match. 0 0 1 * 0 runs at midnight on the 1st of the month and every Sunday.

Extensions: L, W, # and ?

Beyond classic cron, this tool supports common extensions:

  • L — the last day of the month.
  • W — the nearest weekday to a given day.
  • # — the nth weekday of a month (5#3 = third Friday).
  • ? — “no specific value”, treated as * for that field.

These are extensions, not part of plain POSIX cron. They are supported consistently here and explained in the result.

Aliases

@yearly, @annually, @monthly, @weekly, @daily, @midnight and @hourly are accepted shortcuts. @reboot is not, because it does not represent a regular schedule.

Build mode

If you do not know cron syntax, switch to Build. It generates an expression from common schedules:

  • Every minute
  • Every N minutes
  • Hourly
  • Daily
  • Weekly (pick the weekdays)
  • Monthly (pick the day of the month)
  • Yearly (pick the month and day)

Each change updates the expression, its explanation and the next runs immediately. The builder covers these common patterns only — it is not a way to represent every possible cron expression. For anything beyond them, switch to Explain and type the expression directly.

Timezone and DST

Runs are shown in a real IANA timezone (your browser timezone by default, or any you choose). Daylight saving transitions are handled correctly: a time that does not exist on a spring-forward day is shifted forward, and a time that occurs twice on a fall-back day is reported once.

Examples

  • */5 * * * * — every five minutes.
  • 0 9 * * 1-5 — at 09:00, Monday through Friday.
  • 0 0 1 * * — at midnight on the first day of each month.
  • 30 14 15 6 * — at 14:30 on June 15.
  • 0 0 L * * — at midnight on the last day of each month.

Privacy

Your expression is validated and expanded locally. Nothing is uploaded or sent anywhere.

Related