Cron Expression Explainer
Paste a crontab schedule to see what each field means and the next eight times it will run, before it goes to production.
Free · No sign-up · Your inputs stay in your browser
Input
Explain a cron expression
Output
Valid expression
| Field | Value | Means |
|---|---|---|
| Minute | */15 | every 15 minutes, starting at 0 |
| Hour | 9-17 | 9, 10, 11, 12, 13, 14, 15, 16, 17 |
| Day of month | * | every day of month |
| Month | * | every month |
| Day of week | MON-FRI | Monday, Tuesday, Wednesday, Thursday, Friday |
Next runs
- 2026-10-27 09:00 UTC TUE
- 2026-10-27 09:15 UTC TUE
- 2026-10-27 09:30 UTC TUE
- 2026-10-27 09:45 UTC TUE
- 2026-10-27 10:00 UTC TUE
- 2026-10-27 10:15 UTC TUE
- 2026-10-27 10:30 UTC TUE
- 2026-10-27 10:45 UTC TUE
Times are UTC. Cron uses the timezone of the machine (or CRON_TZ / the scheduler's timezone setting), so check which one your server runs in.
About this tool
Method, assumptions, practical next steps, and limits.
The five fields
Minute (0-59), hour (0-23), day of month (1-31), month (1-12 or JAN-DEC) and day of week (0-7 or SUN-SAT, where both 0 and 7 are Sunday). Each accepts *, lists such as 1,15, ranges such as 9-17 and steps such as */15.
The day-of-month trap
0 0 1 * MON does not mean "the first of the month if it is a Monday". It runs on the 1st of every month and on every Monday, because cron combines two restricted day fields with OR.
The default example
*/15 9-17 * * MON-FRI runs every 15 minutes from 09:00 to 17:45 on weekdays. In Laravel, the same schedule is ->cron('*/15 9-17 * * 1-5'), and the one crontab entry that drives the scheduler is * * * * * php /path/to/artisan schedule:run.