Cron Expression Builder
Build cron schedules visually or parse existing expressions. See human-readable descriptions and the next 5 run times.
Presets
Every minute
Every hour
Every day of month
Every month
Every day of week
Generated Expression
Runs every minute
Next 5 Scheduled Runs
- 1Sun, Mar 22, 2026 04:38 AM
- 2Sun, Mar 22, 2026 04:39 AM
- 3Sun, Mar 22, 2026 04:40 AM
- 4Sun, Mar 22, 2026 04:41 AM
- 5Sun, Mar 22, 2026 04:42 AM
Times shown in your local timezone (UTC)
How to use this tool
You can work in two directions: build a cron expression by selecting values from the dropdowns for each field, or parse an existing expression by typing or pasting it into the expression input at the top. The tool updates in both directions automatically.
The human-readable description updates as you type, so you can verify the schedule makes sense. The next 5 run times section shows exactly when the job would fire, based on your local timezone.
Cron syntax reference
A standard cron expression has five fields separated by spaces. Each field defines when the job should run for that unit of time.
| Field | Range | Example |
|---|---|---|
| Minute | 0–59 | 30 = at minute 30 |
| Hour | 0–23 | 14 = 2 PM |
| Day of Month | 1–31 | 1 = first of the month |
| Month | 1–12 | 6 = June |
| Day of Week | 0–6 | 1 = Monday (0 = Sunday) |
Special characters
*(asterisk)- Matches every value in the field.
* * * * *runs every minute. /(slash)- Step value.
*/15in the minute field means every 15 minutes (0, 15, 30, 45). -(hyphen)- Range.
1-5in the day-of-week field means Monday through Friday. ,(comma)- List.
1,15in the day field means the 1st and 15th of the month.
About the seconds field
This tool uses standard 5-field cron syntax, which is what cron,
crontab, and most schedulers (systemd timers, GitHub Actions,
AWS EventBridge) expect. Some systems like Spring and Quartz use a 6-field
format with a leading seconds field. That format is not covered here because
it's non-standard and scheduler-specific.
Examples
0 9 * * 1-5: Weekdays at 9:00 AM*/10 * * * *: Every 10 minutes0 0 1 * *: Midnight on the first of every month30 4 * * 0: Every Sunday at 4:30 AM0 */6 * * *: Every 6 hours (midnight, 6 AM, noon, 6 PM)
Common scheduling scenarios
- Database backups
0 2 * * *runs daily at 2:00 AM, avoiding peak hours. For weekly full backups with daily differentials, combine0 2 * * 0(Sunday full) with0 2 * * 1-6(weekday differentials).- Log rotation
0 0 * * *rotates logs at midnight daily. For weekly rotation, use0 0 * * 1(Monday midnight).- SSL certificate checks
0 8 * * 1checks every Monday morning, giving you the working week to address any expiring certificates.- Cache clearing
0 */4 * * *clears cache every 4 hours. For less aggressive clearing,0 6,18 * * *runs twice daily at 6 AM and 6 PM.- Report generation
0 7 1 * *generates monthly reports on the 1st at 7:00 AM. For quarterly reports, use0 7 1 1,4,7,10 *(1st of Jan, Apr, Jul, Oct).- Health checks
*/5 * * * *runs every 5 minutes for continuous monitoring. For less frequent checks,*/30 * * * *runs every 30 minutes.
Timezone considerations
Cron jobs typically run in the system's local timezone. If your server is in UTC but your users are in a different timezone, account for the offset when scheduling user-facing jobs. Some cron implementations (like systemd timers) support explicit timezone configuration. In cloud environments, scheduled tasks usually default to UTC.