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:
| Field | Values |
|---|---|
| minute | 0–59 |
| hour | 0–23 |
| day of month | 1–31 |
| month | 1–12 |
| day of week | 0–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.*/5means every fifth value (a step).1-5is a range.1,3,5is a list.1-5/2combines 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.