How to use Crontab Guru
- Fill in Minute, Hour, Day of month, Month and Day of week. Each box takes one cron field, such as
5,*/15,9-17orMON-FRI. - Choose the Time zone your cron daemon runs in.
- Set Starting from to the moment you want the run list to begin. Leave it as is for now.
- Read the plain-English Schedule, the warnings, the Fields table and the next five runs, shown in your zone, in UTC and as a distance from the start.
What it does and when to use it
When a cron job fires at the wrong time, the fault is usually one field: an hour in UTC rather than local time, a day-of-month that should have been *, or a minute left as * that makes the job run 60 times an hour. With one box per field you can change a single value and watch the meaning and the run list change. Use it to review a crontab before a deploy or to check a daylight-saving change.
To build a line from menus instead, use the Cron Generator. For 6-field expressions and macros, use the Cron Parser.
How it works
The five boxes are joined into one POSIX-style line and checked by the cron-parser library, which also steps through the next matches in the chosen time zone. The cronstrue library writes the English sentence. Two checks add warnings: a * minute field, and day-of-month and day-of-week both being restricted, which cron treats as “either one matches”. Everything runs in your browser.
| Symbol | Meaning | Example |
|---|---|---|
* |
every value | * in Hour = every hour |
, |
list | 1,15 in Day of month |
- |
range | 9-17 in Hour |
/ |
step | */10 in Minute, 0-30/10 |
L |
last day (not in every cron) | L in Day of month |
Worked examples
Daily at 04:05. Fields 5 4 * * * from 2 October 2026 give Schedule: At 04:05 and one run in the next 24 hours, at 2026-10-02 04:05:00.
A London job across the clock change. 0 22 * * 1-5, time zone Europe/London, starting 23 October 2026:
1 | 2026-10-23 22:00:00 | 2026-10-23T21:00:00Z
2 | 2026-10-26 22:00:00 | 2026-10-26T22:00:00Z
The local time stays at 22:00 but the UTC time moves by an hour after British Summer Time ends on 25 October.
Last day of the month. 0 9 L * * lists 31 October through to 2027-02-28 09:00:00. Vixie cron, common on Linux, does not support L, so check your scheduler first.
A common mistake. * */6 * * * reports 240 runs in the next 24 hours and a warning: the minute field * fires every minute of hours 0, 6, 12 and 18. Use 0 */6 * * * for four runs a day.
Limits and tips
- Out-of-range values give an error such as “got value 25 expected range 0-23”.
- Times in the list come from the browser’s time zone data, not from your server. Check the server zone with
dateortimedatectl. - For one-off date maths around a run, use the Unix timestamp converter.
Frequently asked questions
What happens if I leave a field empty?
Is Sunday 0 or 7?
Why did my job run at a different UTC time after the clocks changed?
Can I paste a whole line instead?
How do we know nothing is uploaded? Test it yourself on the privacy proof page.