How to use it
- Type a cron expression, or click a preset such as Weekdays at 8:30 AM.
- Read the plain-English description and check the next run times.
- Adjust individual fields in Build it field by field.
- Copy the expression into your crontab, CI config or scheduler.
The five cron fields
A classic cron expression has five fields separated by spaces:
┌───────── minute (0–59)
│ ┌─────── hour (0–23)
│ │ ┌───── day of month (1–31)
│ │ │ ┌─── month (1–12 or JAN–DEC)
│ │ │ │ ┌─ day of week (0–6, Sunday = 0 or 7, or SUN–SAT)
│ │ │ │ │
30 8 * * 1-5
30 8 * * 1-5 means at 8:30 AM, Monday through Friday. Hours use the 24-hour clock, so 2:00 PM is 14.
Special characters
| Symbol | Meaning | Example |
|---|---|---|
* | every value | * * * * * every minute |
, | list | 0 9,17 * * * at 9 AM and 5 PM |
- | range | 0 9-17 * * * every hour from 9 AM to 5 PM |
/ | step | */15 * * * * every 15 minutes |
JAN, MON | names | 0 0 1 JAN * on January 1 |
Macros are accepted too: @hourly, @daily (same as @midnight), @weekly, @monthly and @yearly (or @annually). @reboot runs at system startup and has no schedule to show.
Common schedules
| Expression | Runs |
|---|---|
*/5 * * * * | every 5 minutes |
0 * * * * | at the start of every hour |
0 3 * * * | every day at 3:00 AM |
30 8 * * 1-5 | weekdays at 8:30 AM |
0 9 * * 1 | every Monday at 9:00 AM |
0 0 1 * * | at midnight on the 1st of every month |
0 22 * * 0,6 | weekends at 10:00 PM |
15 2 1 1,4,7,10 * | quarterly, at 2:15 AM on the 1st of January, April, July and October |
The presets above the result fill these in with one click.
The day-of-month and day-of-week trap
When both day of month and day of week are restricted, standard (Vixie) cron runs the job when either matches, not when both match. So 0 9 13 * 5 runs at 9 AM on the 13th of every month and on every Friday, not only on Friday the 13th.
The tool's description and the list of next runs follow this rule, so you can see exactly what will happen. If you need "only Friday the 13th," schedule the job on the 13th and check the weekday inside the script.
Another common surprise: a schedule like 0 0 30 2 * (February 30) never runs. The tool tells you when no matching time exists in the next five years.
Time zones and other cron flavors
The next run times are shown in your computer's time zone, but the server that runs the job uses its own time zone, often UTC. A job set for 0 9 * * * on a UTC server runs at 4 AM or 5 AM Eastern, depending on daylight saving time. Check your server's time zone, or set one explicitly if your scheduler supports it.
This generator checks the classic 5-field format used by Linux crontab, GitHub Actions, GitLab CI and Kubernetes CronJobs. Some schedulers use a different syntax:
- Quartz and Spring add a seconds field at the start (6 or 7 fields) and use
?for "no specific value." - AWS EventBridge uses 6 fields with a year at the end.
The tool tells you if you paste a 6-field expression.
Frequently asked questions
What does * * * * * mean in cron?
Every minute of every hour, every day.
How do I run a cron job every 5 minutes?
Use */5 * * * *. The */5 in the minute field means every fifth minute, starting at 0.
How do I schedule a job on weekdays only?
Put 1-5 in the day-of-week field, for example 0 9 * * 1-5 for 9:00 AM Monday through Friday.
Which time zone does cron use?
The time zone of the server that runs it, often UTC. The next runs on this page are shown in your own time zone.
Does it support seconds (Quartz)?
No. It checks the classic 5-field format. Quartz and Spring expressions with a seconds field are not supported.
Last updated: November 12, 2026