Cron Expression Explainer – Translate Cron Schedules to Plain English
Paste a cron expression to see what it means in plain English and when it will run next. The explainer supports standard five-field cron syntax with ranges, steps, lists, month and weekday names, and shortcuts like @daily and @hourly.
How to use the cron expression explainer
- Type a cron expression, or pick one of the examples.
- Choose whether to show the next runs in your time zone or UTC.
You’ll see a plain-English description and the next five dates and times the schedule would run.
Cron syntax
┌───────── minute (0–59)
│ ┌─────── hour (0–23)
│ │ ┌───── day of month (1–31)
│ │ │ ┌─── month (1–12 or JAN–DEC)
│ │ │ │ ┌─ day of week (0–6 or SUN–SAT)
│ │ │ │ │
* * * * *
| Symbol | Meaning | Example |
|---|---|---|
* | every value | * in hour = every hour |
, | list | 1,15 = the 1st and 15th |
- | range | 1-5 = Monday to Friday |
/ | step | */10 = every 10 |
Shortcuts: @hourly (0 * * * *), @daily (0 0 * * *), @weekly (0 0 * * 0), @monthly (0 0 1 * *) and @yearly (0 0 1 1 *).
Examples
| Expression | Meaning |
|---|---|
*/15 * * * * | every 15 minutes |
0 * * * * | at the start of every hour |
30 2 * * * | every day at 02:30 |
0 9 * * 1-5 | weekdays at 09:00 |
0 0 1 * * | midnight on the 1st of each month |
0 8 1 1,4,7,10 * | 08:00 on the first day of each quarter |
Where cron is used
- Linux and macOS servers via crontab.
- Kubernetes CronJobs for scheduled containers.
- CI/CD pipelines such as GitHub Actions scheduled workflows.
- Cloud schedulers on major cloud platforms.
- Backups, reports, clean-up jobs and reminders of every kind.
Testing a schedule safely
Before putting a new schedule into production, check the next run times shown here against what you expect, especially around month ends and weekends. For example, 0 0 31 * * only runs in months with 31 days, and 0 0 29 2 * runs only in leap years. If a job must run on the last day of every month, many cron implementations can’t express that directly; a common workaround is to run daily and let the script check whether tomorrow is the 1st.
Some systems also offer a “last day” symbol (L), but it isn’t part of standard cron.
Overlapping runs
If a job can take longer than the gap between runs, two copies may run at once. Use a lock file or your scheduler’s concurrency setting — Kubernetes CronJobs have a concurrencyPolicy option — to prevent overlaps.
Common mistakes
- Wrong time zone: a job at
0 9 * * *on a UTC server runs at 9:00 UTC, which may be the middle of the night where you are. - Forgetting the minute:
* 9 * * *runs 60 times between 9:00 and 9:59, not once. - Day-of-week numbering: Sunday is 0 (and 7); Monday is 1.
- Daylight saving: jobs between 01:00 and 03:00 may be skipped or run twice when clocks change, depending on the system.
For working with times, see the Unix timestamp converter and the time zone converter.
Frequently asked questions
What does 0 9 * * 1-5 mean?
At 09:00 on Monday, Tuesday, Wednesday, Thursday and Friday — every weekday morning at nine.
What are the five cron fields?
Minute (0–59), hour (0–23), day of the month (1–31), month (1–12 or JAN–DEC) and day of the week (0–6 or SUN–SAT, where 0 and 7 are both Sunday).
What does */15 mean?
Every 15 units, starting from the lowest value. In the minute field, */15 runs at minutes 0, 15, 30 and 45 of every hour.
What happens when both day fields are set?
In standard cron, if both day of the month and day of the week are restricted, the job runs when either matches. 0 0 1 * 1 runs on the 1st of each month and also on every Monday.
Which time zone does cron use?
The time zone of the server running it, which is often UTC. The explainer can show the next runs in your own time zone or in UTC.
Does this support seconds or years?
No. It explains standard five-field cron, as used by Unix crontab, Kubernetes CronJobs and most CI systems. Some tools, such as Quartz, add a seconds field — remove it before pasting.
Related tools
Unix Timestamp Converter
Epoch seconds or milliseconds to a date, and back.Time Zone Converter
Convert a time between zones, with daylight saving handled for you.YAML to JSON Converter
YAML ↔ JSON for config files, with clear errors.JSON Formatter
Pretty-print, validate and minify JSON with clear error positions.Regex Tester
Test regex live: matches, groups, flags and replace.
Last updated: