Cron expression explainer
Translate a five-field cron expression into a sentence and list the next run times.
Runs in your browser. Your input is not uploaded.
Loading the tool…
What it does
A cron expression has five fields: minute, hour, day of month, month and day of week. * means every value, , lists values, - gives a range and / a step. */15 * * * * means every 15 minutes.
The explainer turns the expression into a sentence and lists the next run times in your browser’s time zone. It follows standard (Vixie) cron rules. Pasting a whole crontab line is fine: the text after the five fields is the command, and it is shown separately.
How to use it
- Paste an expression, a preset, or a crontab line such as
0 2 * * * /usr/bin/backup.sh. - Read the sentence and the next run times.
- Check what cron will run, and the lines it skips.
Example
Input
0 9 * * 1-5
Output
At 09:00, on weekdays (Monday to Friday).
Things to watch for
- When both day of month and day of week are set, cron runs when either matches, not both.
0 0 1 * 1runs on the 1st and on every Monday. - The server’s time zone decides when jobs run. The next runs here are in your browser’s zone, which may differ.
- Six or seven time fields,
?,L,Wand#are Quartz or Spring syntax, not crontab. Text after five fields is a command, not another field. - In /etc/crontab the word after the five fields is the account, and cron does not run it. In a user’s own crontab that word is the start of the command.
Guides
Questions
- What does */5 mean?
- Every fifth value starting from the lowest: minutes 0, 5, 10 and so on.
- Is Sunday 0 or 7?
- Both. Standard cron accepts either.
- What does @daily mean?
- It is a shorthand for
0 0 * * *, midnight every day.@hourly,@weekly,@monthlyand@yearlyare also supported. - Does this work for GitHub Actions or Kubernetes CronJobs?
- Yes, both use the five-field syntax. GitHub Actions runs schedules in UTC.
- Can I paste a line straight from a crontab?
- Yes. The five time fields set the schedule and everything after them is the command, shown under What cron runs. A
%ends the command: cron does not run the text after it, and passes that text to the command as input. Comment lines andNAME=valuelines are listed under Ignored.