Crontab Generator and Cron Expression Explainer
Type a cron expression to see what it means in plain English and when it runs next, or build one from the presets and per-field menus. Add a command to get the complete crontab line. The schedule stays in the URL so you can share it.
This schedule means
Crontab line
Enter a command to build the full line.
Next 5 runs (times in )
Times are shown in your browser's timezone. Servers usually run cron in the system timezone, which is often UTC, so verify the target zone before scheduling.
How a cron expression works
A crontab entry starts with five fields that define the schedule, followed by the command to run. The five schedule fields are:
| Field | Allowed values | Meaning |
|---|---|---|
| Minute | 0-59 | Minute of the hour |
| Hour | 0-23 | Hour of the day (24-hour clock) |
| Day of month | 1-31 | Day of the month |
| Month | 1-12 or JAN-DEC | Month of the year |
| Day of week | 0-7 or SUN-SAT | Day of the week (0 and 7 are both Sunday) |
Each field accepts a single value (5), a list (1,15,30), a range (1-5), a step (*/15), or a combination. A step anchors at the start of its range, so */15 in the minute field means minutes 0, 15, 30, and 45, while 3-59/15 means 3, 18, 33, and 48.
Special strings
Instead of five fields you can use one of these shortcuts:
| String | Equivalent | Meaning |
|---|---|---|
| @yearly | 0 0 1 1 * | Once a year at midnight on January 1 |
| @monthly | 0 0 1 * * | Once a month at midnight on the 1st |
| @weekly | 0 0 * * 0 | Once a week at midnight on Sunday |
| @daily | 0 0 * * * | Once a day at midnight |
| @hourly | 0 * * * * | Once an hour at minute 0 |
| @reboot | none | Runs once when the system boots |
Because @reboot has no time fields, the tool explains it but does not list upcoming runs.
Day of month and day of week
These two fields interact in a way that surprises many people. When you restrict both of them, cron runs the job when either field matches, not only when both match. So 0 0 13 * 5 runs at midnight on the 13th of every month and on every Friday, not only on Friday the 13th. When one of the two fields is *, only the other one applies. For a full walkthrough of crontab syntax, see scheduling cron jobs with crontab
.
Command and output
Everything after the fifth field is the command, which cron runs with /bin/sh and a minimal PATH by default. Use absolute paths for scripts and binaries so the job does not fail with “command not found”.
Cron treats an unescaped percent sign in the command as a newline and passes any text after the first % to the command as standard input. A command such as date +%F must be written as date +\%F in a crontab, and the tool adds those backslashes for you.
By default, cron mails any output to the crontab owner, which only works when a mail transfer agent is installed. The output menu either discards the output with >/dev/null 2>&1 or appends both standard output and standard error to a log file with >> /path/to/file.log 2>&1. The user that owns the crontab must be able to write to that file.
The tool keeps only the schedule in the URL. The command stays in your browser, so a shared link never carries credentials or other values from your command line.
Timezone and supported syntax
The next-run times use your browser’s timezone. Cron on a server runs in the system timezone, which is often UTC, so confirm the target zone before you rely on a schedule. This version supports the standard five-field syntax; the six-field (seconds) form and Quartz extensions such as L, W, and # are out of scope.