Cron Expression Generator & Reader
Paste a cron expression to translate it into plain English, or click a preset to build one instantly. Supports standard 5-field Unix/POSIX cron syntax including ranges, lists, and step values.
⏱️ Cron Expression
⚡ Quick Presets — Click to Build
Disclaimer: This tool covers standard 5-field Unix/POSIX cron syntax and common @-shortcuts (@daily, @hourly, etc.). It does not support Quartz scheduler's extended 6-7 field syntax or special characters like L, W, or #. Always test a generated expression in your actual scheduler (cron, Kubernetes CronJob, GitHub Actions, etc.) before relying on it in production.
How Cron Syntax Works
A standard cron expression has 5 space-separated fields, each controlling when a job runs:
| Field | Allowed Values | Wildcard |
|---|---|---|
| Minute | 0-59 | * |
| Hour | 0-23 | * |
| Day of Month | 1-31 | * |
| Month | 1-12 or JAN-DEC | * |
| Day of Week | 0-6 or SUN-SAT (0 = Sunday) | * |
Syntax Building Blocks
*— every value ("every minute", "every hour")5— an exact value1-5— a range (e.g., Monday through Friday)1,3,5— a list of specific values*/15— a step ("every 15 units," starting from the minimum)9-17/2— a stepped range ("every 2 units between 9 and 17")
Worked Example
The expression 0 5 * * 1 breaks down field by field:
- Minute = 0: at the top of the hour
- Hour = 5: the 5th hour (5 AM)
- Day of Month = *: any day of the month
- Month = *: any month
- Day of Week = 1: only on Monday
Combined: "At 05:00 AM, only on Monday." — a classic weekly report or backup schedule.
Common Cron Patterns
| Expression | Meaning |
|---|---|
| * * * * * | Every minute |
| */5 * * * * | Every 5 minutes |
| 0 * * * * | Every hour, on the hour |
| 0 0 * * * | Every day at midnight |
| 0 9 * * 1-5 | 9 AM on weekdays only |
| 0 0 1 * * | Midnight on the 1st of every month |
| 0 0 1 1 * | Midnight on January 1st (yearly) |