Cron expression parser
Translate a crontab into plain words and see the next runs.
- Instant
- Free
- Private (processed locally)
- No sign-up
Never deploy a doubtful crontab again
One misread cron expression and your backup runs every day at midnight instead of once a month — or worse, never. Paste the expression: the tool translates it into plain words, breaks down every field and computes the next 5 actual run dates to validate your intent.
Cron syntax in one table
| Field | Range | Examples |
|---|---|---|
| Minute | 0–59 | 0, */15, 30 |
| Hour | 0–23 | 9, 9-17, */6 |
| Day of month | 1–31 | 1, 1,15, 10-20 |
| Month | 1–12 or JAN–DEC | 6, JAN, 3-5 |
| Day of week | 0–7 or SUN–SAT | 1-5, 0, MON |
Common recipes
- */15 * * * * — every 15 minutes (monitoring, queues).
- 30 9 * * 1-5 — at 09:30, Monday through Friday (daily report).
- 0 0 1 * * — on the 1st of every month at midnight (billing).
- 0 */6 * * * — every 6 hours (synchronization).
- 0 3 * * 0 — Sundays at 3 am (weekly maintenance).
Gotcha #1: day-of-month and day-of-week set together combine with OR. And remember your server often runs on UTC — not your local zone.
Frequently asked questions
What do the 5 fields of a cron expression mean?
In order: minute (0-59), hour (0-23), day of month (1-31), month (1-12 or JAN-DEC), day of week (0-7 or SUN-SAT, 0 and 7 = Sunday). Each field accepts *, values, ranges (1-5), steps (*/15) and lists (1,15).
How do I run a task every 5 minutes?
*/5 * * * * — the */5 step on the minute field means “every 5 minutes”, any hour, every day.
What happens when both day-of-month AND day-of-week are set?
The classic cron gotcha: the two conditions combine with OR, not AND. “0 0 13 * 5” runs on the 13th of every month AND also every Friday — not only on Friday the 13th. The tool applies and displays this semantics.
Do the next runs account for my time zone?
Yes, they are computed in your browser’s time zone. Careful: on your server, cron uses the server’s zone (often UTC) — check its configuration.
What about @daily, @hourly shortcuts?
They are non-standard aliases: @hourly = “0 * * * *”, @daily = “0 0 * * *”, @weekly = “0 0 * * 0”, @monthly = “0 0 1 * *”, @yearly = “0 0 1 1 *”. Enter the equivalent 5-field form to analyze it here.