Cron expression generator and explainer
This cron expression generator builds expressions from templates and single fields and explains any expression in plain words. It also shows the next run times, so you can see when the job will really run before you deploy it. Supported: Unix cron (5 fields), Spring (6 fields with seconds) and Quartz (with year).
Source: The Open Group – crontab (POSIX.1-2017): Felder, Bereiche, Tag/Wochentag-Regel. Updated: .
How it is calculated
A cron expression defines when a scheduled job runs – in crontab, Kubernetes CronJobs, GitHub Actions, Spring or Quartz. It consists of fields separated by spaces. This tool builds expressions, explains them in plain words and shows the next run times.
How to create a cron expression
- Choose the dialect: Unix cron has 5 fields; Spring and Quartz add seconds (and Quartz optionally a year).
- Click a template or fill the fields one by one. The expression above follows automatically; a pasted expression fills the fields in turn.
- Under “Meaning” you see the expression in plain words, and below it the next runs in UTC or in your device’s time.
Structure and notation
- Unix cron fields:
minute hour day month weekday(minute 0–59, hour 0–23, day 1–31, month 1–12, weekday 0–7 with 0 and 7 as Sunday). *means “all”,1,15a list,9-17a range,*/5“every 5”,10/15“from 10 every 15”. Months and weekdays may be written as names (JAN,MON).- Shortcuts like
@daily,@hourly,@weeklyare understood in Unix and Spring.
Differences between dialects
- Seconds: Spring and Quartz have seconds as the first field –
0 30 2 * * *instead of30 2 * * *. - Day and weekday: in classic cron one of the two is enough (OR) when both are restricted (POSIX). In Spring both must match (AND). Quartz requires a
?in one of the two fields. - Weekday numbers: Unix and Spring count Sunday = 0 (or 7); Quartz counts Sunday = 1 to Saturday = 7. When you switch dialect the tool converts the expression.
Limits
- The special characters
L,Wand#(last day, nearest weekday, n-th weekday) exist in Spring/Quartz; they are recognised but not calculated here. - The time zone is UTC or this device’s local time. A cron service with its own time zone or daylight saving rule may treat runs on changeover days differently.
- The times shown are the schedule according to the expression; whether a job actually starts is decided by the system that runs it.
Frequently asked questions
What does a cron expression like 30 2 * * * mean?
The five fields are minute, hour, day of month, month and day of week. “30 2 * * *” means: every day at 02:30. The asterisk stands for “all values”.
How do I run a cron job every 5 minutes?
With */5 * * * *: in the minute field */5 means “every 5 minutes” (minute 0, 5, 10 …). The template “Every 5 minutes” enters it for you.
How do Unix cron, Spring and Quartz differ?
Unix cron has 5 fields. Spring and Quartz have a seconds field at the front, and Quartz an optional year at the end. They also number weekdays differently (Quartz: Sunday = 1) and treat day of month and weekday differently.
What does the question mark in a cron expression mean?
The question mark exists in Spring and Quartz for day of month and day of week and means “no specific value”. In Quartz one of the two fields must be ? because you cannot set both at once.
What are the weekday numbers in cron?
In Unix cron and Spring: Sunday = 0 (also 7), Monday = 1 to Saturday = 6. In Quartz: Sunday = 1 to Saturday = 7. Names like MON–FRI work in all three dialects.
Are my cron expressions sent anywhere?
No. The expression, the explanation and the calculation of the next runs all happen in your browser.
Sources and legal basis
- The Open Group – crontab (POSIX.1-2017): Felder, Bereiche, Tag/Wochentag-Regel
- Spring Framework – CronExpression (6 Felder, ?, L, W, #, Makros)
- Quartz Scheduler – CronTrigger Tutorial (Felder, Wochentag 1–7, ? bei Tag/Wochentag, Jahr)
As of:
Related tools
- Unix timestamp converterConvert a Unix timestamp to a date and back. Seconds, milliseconds, micro- and nanoseconds detected automatically; UTC, local time, ISO 8601 and more.
- Regex TesterTest JavaScript regular expressions live: matches highlighted, capture groups in a table, every part of the pattern explained. Free, nothing uploaded.
- Time zone meeting plannerPlan a meeting across time zones: pick cities, a date and working hours to see the overlap in every local time, with daylight saving time handled.
- JSON formatter, validator and minifierValidate JSON against RFC 8259 with the exact line, column and a plain-English explanation. Beautify or minify, sort keys, copy. Runs locally in your browser.
- htaccess redirect generator (301, HTTPS, www).htaccess redirect generator: 301 redirects, force HTTPS, www, domain moves and more. With a URL test run and the Nginx equivalent, local in your browser.
- Online TimerFree online countdown timer: enter any time or tap a 5, 10 or 15 minute preset, get an alarm when time is up, remaining time in the tab. No sign-up.