What does a cron expression like "0 9 * * 1-5" mean?
Cron expressions are the standard way to schedule tasks on servers: database backups, summary emails, reports, log cleanup. They look cryptic (`0 9 * * 1-5`), but they encode a specific rule: "Monday to Friday at 9:00 am".
Type an expression, get a plain-English description and the next 10 fire times. Or pick a ready preset and copy the expression to use in your system.
Most competitor tools show times in UTC. We show them in your local timezone, so you don't have to do the math in your head.
How to use it
- Type a cron expression in the field at the top (5 fields separated by spaces).
- Below you'll see a plain-English description ("Every day at 9 am") and the next 10 fire times.
- You can also pick a preset from the list: every minute, every hour, daily at midnight, every Monday, etc.
- Field values: \* = any, n,m = list of specific values, n-m = range, **\*/k** = every k units.
- Copy the expression with the "Copy" button - paste into your system (Linux cron, GitHub Actions, Kubernetes CronJob, etc.).
When this is useful
Typical schedules seen in real systems:
- Database backups - "0 3 * * *" = every day at 3 am. Traditional time when traffic is lowest.
- Daily newsletter - "0 8 * * 1-5" = Monday through Friday at 8 am.
- Weekly report - "0 9 * * 1" = every Monday at 9 am.
- Recurring social posts - "0 12,18 * * *" = every day at 12 pm and 6 pm.
- Cache cleanup every 15 minutes - "*/15 * * * *" = every 15 minutes around the clock.
- Monthly report - "0 9 1 * *" = first day of each month at 9 am.
- GitHub Actions / GitLab CI - automated tasks in code repos use cron expressions. Schedule what runs and when.
- Kubernetes CronJob - scheduled tasks in a Kubernetes cluster use the same syntax.
To convert times between timezones, use our timezone converter. To count days between two dates, see date difference.