Cron expression explainer

Paste a cron expression and get a plain-English schedule — plus a reference for writing your own.

Cron expressions are terse. Paste one below to see exactly when it runs, then use the reference to build your own.

Fields: minute hour day-of-month month day-of-week

↳ Runs entirely in your browser. Nothing you type here is sent to us or anyone else.

The five fields

Field Range
Minute 0–59
Hour 0–23
Day of month 1–31
Month 1–12
Day of week 0–7 (0 and 7 are Sunday)

Special characters

Char Meaning
* Every value
, List, e.g. 1,15,30
- Range, e.g. 9-17
/ Step, e.g. */15 = every 15

Common examples

Expression Runs
0 * * * * Every hour, on the hour
*/15 * * * * Every 15 minutes
0 3 * * * Daily at 03:00
0 9 * * 1-5 09:00 on weekdays
0 0 1 * * Midnight on the 1st of each month

Where cron jobs live

Edit your personal crontab with crontab -e; system jobs live in /etc/crontab and /etc/cron.d/. On modern distributions, systemd timers are often a better choice for anything that needs logging, dependencies, or catch-up after downtime — see our systemd unit generator.

Frequently asked questions

Does cron run a missed job after the machine was off?

Plain cron does not u2014 if the machine was asleep at the scheduled time, the run is skipped. Use anacron or a systemd timer with Persistent=true if you need catch-up.

What timezone does cron use?

The system timezone by default. Check with timedatectl, and note that daylight-saving transitions can cause a job to run twice or not at all around the change.

How do I run something every 15 minutes?

Use */15 in the minute field: */15 * * * *.