Cron Expression Generator
Updated Free mock REST & WebSocket APIs
Build a cron schedule, check what it really means in plain English, and preview the next five run times before you deploy it. Supports standard 5-field crontab syntax and @daily-style macros.
“Every 15 minutes, between 9:00 AM and 5:59 PM, on weekdays (Monday through Friday).”
Syntax cheat sheet
*any value ·,list (1,15) ·-range (1-5) ·/step (*/10,0-30/5)- Macros:
@hourly@daily@weekly@monthly@yearly - Day of week: 0 or 7 = Sunday, 1 = Monday … 6 = Saturday
🔒 Explained and calculated in your browser. Server cron daemons usually run in UTC — check yours.
How to build a cron expression
- Start from a preset or type an expression; edit the five fields individually if you prefer.
- Read the plain-English explanation to confirm it says what you mean.
- Check the next five runs — switch to UTC to match your server — then copy the expression.
Cron syntax: the five fields
┌───────────── 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; 7 is also Sunday)
│ │ │ │ │
* * * * *| Expression | Runs |
|---|---|
*/5 * * * * | Every 5 minutes |
0 * * * * | Every hour, on the hour |
0 0 * * * | Every day at midnight |
0 9 * * 1-5 | Weekdays at 9:00 |
30 2 * * 0 | Sundays at 2:30 |
0 0 1 * * | First day of every month |
0 0 1 1 * | Once a year, on 1 January |
Cron gotchas that catch everyone
- Day of month and day of week are OR-ed.
0 0 13 * 5runs on every 13th and every Friday — not only on Friday the 13th. - Time zones. GitHub Actions and Vercel Cron Jobs always run in UTC; Kubernetes CronJobs accept a
spec.timeZone. Use the UTC switch above to check. - Steps restart each cycle.
*/7in the minute field runs at :00, :07 … :56 and then :00 again — a 4-minute gap, not a steady 7. - Daylight saving time. Local-time jobs between 1 and 3 AM can be skipped or run twice on changeover nights.
- Six fields isn't standard. Quartz and Spring add a seconds field; AWS EventBridge adds a year and uses
?.
Related tools
Frequently asked questions
What does */15 mean in cron?
“Every 15th value starting from the minimum”. In the minute field that's :00, :15, :30 and :45 of every hour.
How do I run a job every 30 seconds?
Standard cron's smallest unit is one minute. Add two entries — one running immediately and one that runs sleep 30 first — or use a scheduler with seconds support, such as a systemd timer.
Is Sunday 0 or 7?
Both work in standard cron: 0 and 7 mean Sunday, 1 is Monday and 6 is Saturday. Three-letter names like SUN and MON are also accepted.
Does this support Quartz syntax like L, W or #?
No — those are extensions in Quartz and some cloud schedulers. The tool explains standard 5-field cron as used by crontab, Kubernetes, GitHub Actions and Vercel.
Your business here? Sponsor this tool from $16/week. See placements