Cron Expression Explainer
Translate cron expressions into plain English, see the next 5 scheduled run times, and explore common examples. All client-side.
| Expression | Description |
|---|
| Field | Allowed Values | Allowed Special Chars |
|---|---|---|
| Minute | 0–59 | * , - / |
| Hour | 0–23 | * , - / |
| Day of Month | 1–31 | * , - / ? |
| Month | 1–12 | * , - / |
| Day of Week | 0–6 (Sun=0) | * , - / |
Frequently Asked Questions
* means "every". For example, 0 0 * * * means "at midnight every day" and */15 * * * * means "every 15 minutes".*/5 in the minute field means "every 5 minutes". 0/15 means "starting at 0, every 15 units". Steps are especially useful for scheduling tasks at regular intervals without listing every value.How the Cron Explainer Works
Cron expressions describe a schedule in five space-separated fields. This tool parses, explains, and simulates them entirely in the browser.
Parse Each Field
Each of the 5 fields (minute, hour, day-of-month, month, day-of-week) is parsed with full support for * (all), - (range), / (step), and , (list) operators to expand into a set of matching values.
Build Human Sentence
The expanded field values are assembled into a plain English sentence. Single values become specific names (e.g., "Monday", "January"). Multiple values use lists or ranges for readability.
Simulate Next 5 Runs
The tool steps through time minute-by-minute from now, checking all 5 fields simultaneously, until it finds 5 matching moments. Results are displayed in UTC to match how cron daemons typically run.
Common Use Cases
Scheduled Backups
Verify that your backup cron runs at the right time — typically off-peak hours in the server's timezone. Use 0 2 * * * for daily at 2 AM and confirm it doesn't conflict with other scheduled tasks.
Automated Report Generation
Schedule weekly or monthly reports with expressions like 0 8 * * 1 (every Monday at 8 AM) or 0 9 1 * * (first of every month at 9 AM). See the plain-English description before deploying.
Database Cleanup Jobs
Purge expired sessions, soft-deleted records, or old log entries with a nightly job. Test complex expressions like 30 3 * * 0 (Sunday at 3:30 AM) to ensure cleanup runs at the intended low-traffic window.
Monitoring Heartbeats
Health-check pings to uptime monitors run every 1–5 minutes (*/5 * * * *). Verify the interval is correct and see the next 5 check times to ensure no gaps from a misconfigured expression.
Cache Warmup & CDN Invalidation
Pre-warm caches before business hours to ensure fast first-page loads. Schedule 0 7 * * 1-5 (weekdays at 7 AM) and confirm the warmup completes before peak traffic using the next-run simulation.
Digest & Newsletter Emails
Weekly newsletters, daily digests, and subscription summaries need precise scheduling. Use the explainer to confirm expressions like 0 10 * * 2 (Tuesday at 10 AM) send at the right day and time globally.