cron expression · plain english
Cron every 30 minutes
Fires at HH:00 and HH:30 only. The most popular medium-frequency schedule — twice per hour, 48 times per day.
beginner
POSIX / Jenkins / Quartz / AWS
*/30 * * * *
cron every 30 minutes.
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) | */30 * * * * | step notation |
| Cron (verbose alt) | 0,30 * * * * | equivalent explicit list |
| Jenkins | H/30 * * * * | spread across executors |
| Quartz (Java) | 0 0/30 * * * ? | or 0 0,30 * * * ? |
| AWS EventBridge | rate(30 minutes) | or cron(0/30 * * * ? *) |
Common pitfalls
- Top-of-hour spike: `0 * * * *`, `*/30 * * * *`, `*/15 * * * *` all fire at HH:00. If you have ten such jobs they all hit DB at once.
- If you migrate cron host time zone (UTC → local), HH:30 cadence stays correct but absolute fire times shift.
- Two `*/30` jobs that take 25-35 minutes can overlap — second instance starts before first finishes. Always lock or kill on duplicate.
Use cases
- Replicating slow-changing reference tables
- Email queue flush
- Container image freshness check
- Slow-changing config sync (feature flags, etc.)
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 2 hours · cron every friday at 5 pm (end of work week) · cron on the last day of every month (quartz only) · how to run a cron job every 10 minutes