cron expression · plain english
Cron every 3 hours
Fires at 00:00, 03:00, 06:00, 09:00, 12:00, 15:00, 18:00, 21:00 — 8 fires per day at multiples of 3.
intermediate
POSIX / Jenkins / Quartz / AWS
0 */3 * * *
cron every 3 hours.
Next 5 fire times
Computed live in your local timezone. The cron expression itself is timezone-agnostic — these times reflect your browser clock.
Cross-system syntax variants
Same intent, different schedulers. Use this table when migrating between systems.
| System | Expression | Note |
|---|---|---|
| Standard cron (POSIX) | 0 */3 * * * | fires at 00, 03, 06, 09, 12, 15, 18, 21 |
| Cron (verbose alt) | 0 0,3,6,9,12,15,18,21 * * * | explicit list — readable |
| Jenkins | H H/3 * * * | H prevents stampede |
| Quartz (Java) | 0 0 0/3 * * ? | 6-field |
| AWS EventBridge | rate(3 hours) | non-aligned by default |
Common pitfalls
- `*/3` divides 24 evenly (8 fires/day). `*/4` (6 fires) and `*/6` (4 fires) also divide evenly. `*/5` (4 fires + remainder) does NOT — last fire at 20:00.
- Combining hour stepping with day stepping (e.g. `0 */3 */2 * *`) is allowed but confusing — most schedulers AND the conditions, not OR.
- DST: 02:00 fire-time ambiguous in fall-back zones. Run in UTC to avoid.
Use cases
- Container image vulnerability scan
- Slow data warehouse refresh
- Cleanup of expired cache layers
- Sync of medium-changing reference data
Translate any cron expression
cronwtf takes any cron string and returns plain-English description plus the next 5 fire times in your timezone. Standard 5-field, Jenkins H, Quartz 6-field — all supported.
Open cronwtf
Related cron schedules
cron: every day at noon (12:00) · cron every 15 min during business hours · cron every sunday at 2 am (weekly maintenance) · cron: every 2 hours