Cron Without the Syntax Memorization
Cron expressions are compact but counterintuitive. 0 2 * * 1 means "2am every Monday" — but the field order, wildcard rules, and step syntax (*/15) are easy to forget if you don't write them daily. Getting it wrong means a job either never runs or runs far too often.
This tool builds cron expressions visually. Select a schedule from common patterns (hourly, daily, weekly, monthly) or configure each field individually. The expression generates as you select. The next 5 run times preview instantly so you can confirm the schedule is exactly what you intended.
Cron Expression Format
A standard cron expression has 5 fields:
┌───── Minute (0–59)
│ ┌───── Hour (0–23)
│ │ ┌───── Day of Month (1–31)
│ │ │ ┌───── Month (1–12 or JAN–DEC)
│ │ │ │ ┌───── Day of Week (0–7, where 0 and 7 are Sunday; or SUN–SAT)
│ │ │ │ │
* * * * *
Some systems (AWS EventBridge, Spring, Quartz) use 6-field cron with a seconds field at the start, or a year field at the end. The generator clearly marks which fields apply.
Field Value Reference
| Symbol | Meaning | Example |
|---|
* | Every value | * in minute = every minute |
, | Specific values | 1,15 = 1st and 15th |
- | Range | 9-17 = 9 through 17 |
/ | Step | */15 = every 15 units; 0/30 = at 0, 30 |
L | Last | L in day = last day of month |
? | No specific value | Used in day-of-month or day-of-week when the other is set |
W | Nearest weekday | 15W = weekday nearest the 15th |
# | Nth weekday | 2#1 = first Monday of the month |
Common Cron Expressions
| Schedule | Expression | Description |
|---|
| Every minute | * * * * * | Runs every 60 seconds |
| Every 5 minutes | */5 * * * * | Runs at :00, :05, :10... |
| Every 15 minutes | */15 * * * * | Runs 4 times per hour |
| Every hour | 0 * * * * | At the top of every hour |
| Daily at midnight | 0 0 * * * | Every day at 00:00 |
| Daily at 2am | 0 2 * * * | Every day at 02:00 |
| Every Monday at 9am | 0 9 * * 1 | Weekly on Mondays |
| 1st of every month | 0 0 1 * * | Monthly, midnight |
| 1st Jan at midnight | 0 0 1 1 * | Annually |
| Weekdays at 8am | 0 8 * * 1-5 | Mon–Fri only |
| Twice daily | 0 6,18 * * * | At 6am and 6pm |
Practical Scheduling Scenarios
Database backups: 0 2 * * * — daily at 2am, off-peak hours when database load is minimal.
Report generation: 0 6 * * 1 — Monday mornings at 6a...
Looking for a more detailed deep-dive and advanced tips?
Read Full Article on our Blog