Cron Expression Examples and How to Read Them
A standard cron expression has five fields. Learn what each one means and you can read any schedule at a glance.
Updated
Try it now: Cron Expression Parser. It runs in your browser, with no signup.
The five fields
A job runs when the current time matches every field. A star means every value.
* * * * * | | | | | | | | | +-- day of week (0-6, Sunday is 0; many systems also accept 7) | | | +----- month (1-12) | | +-------- day of month (1-31) | +----------- hour (0-23) +-------------- minute (0-59)
Special characters
- * any value.
- , a list: 1,15 means the 1st and the 15th.
- - a range: 1-5 means Monday to Friday in the day-of-week field.
- / a step: */5 in the minute field means every 5 minutes.
Common schedules
Paste any of these into the Cron Expression Parser to see the plain-English description, or start from the presets in the Cron Expression Generator.
* * * * * every minute */5 * * * * every 5 minutes */15 * * * * every 15 minutes 0 * * * * at the start of every hour 0 0 * * * every day at midnight 30 2 * * * every day at 02:30 0 9 * * 1-5 at 09:00 on weekdays 30 8 * * 1 at 08:30 every Monday 0 0 * * 0 every Sunday at midnight 0 0 1 * * at midnight on the 1st of each month 0 0 1 1 * at midnight on 1 January
Traps that cause missed or extra runs
- Day of month and day of week together: in standard cron, if both fields are restricted, the job runs when either one matches, not both.
- Time zone: cron uses the time zone of the machine or scheduler. GitHub Actions scheduled workflows use UTC. Kubernetes CronJobs support a timeZone field in recent versions.
- Overlapping runs: if a job takes longer than its interval, runs can stack up. Add a lock or a concurrency policy.
- Daylight saving time: a job at 02:30 can be skipped or run twice on the days clocks change. Schedule in UTC when exact timing matters.
- Different dialects: Quartz and Spring use six or seven fields with seconds, so an expression is not portable between them and standard five-field cron.
Frequently asked questions
What does */5 * * * * mean?
It runs every 5 minutes: the */5 in the minute field means every fifth minute, and the stars mean every hour, day, month and weekday.
How do I run a cron job every 10 seconds?
Standard cron cannot. Its smallest unit is a minute. Use a scheduler that supports seconds, a loop with sleep, or a systemd timer.
Does Sunday equal 0 or 7?
Most cron implementations accept both, but 0 is the safe choice. Check your scheduler documentation.

