Cron Expression Generator — Build, Explain & Test Cron Jobs
Create a crontab schedule, read it in plain English, and see exactly when it will run next.
“At 09:00, Monday through Friday”
Common schedules
Next 10 run times (your local time)
No runs in the next 5 years.
Syntax cheat sheet
| * | any value |
| , | list of values (1,15,30) |
| - | range of values (1-5) |
| / | step values (*/10) |
| JAN–DEC | month names |
| SUN–SAT | day names (0 or 7 = Sunday) |
Macros like @daily, @hourly, @weekly, @monthly and @yearly are also supported.
Quick answer
To create a cron expression, pick a preset (like "Every 5 minutes" or "Weekdays at 9:00") in the KaviForge Cron Expression Generator, or edit the five fields: minute, hour, day of month, month, and day of week. The tool explains the schedule in plain English and lists the next 10 run times in your local time zone.
Cron is the standard scheduler on Linux and macOS, and its five-field syntax is also used by Kubernetes CronJobs, GitHub Actions, GitLab CI, AWS EventBridge, Vercel, and many job queues.
Cron syntax is compact but easy to misread. Seeing the plain-English description and upcoming run times confirms your job will run exactly when you expect.
How to Create a Cron Expression
- 1Start from a common schedule preset, or type an expression like 0 9 * * 1-5.
- 2Adjust the minute, hour, day of month, month, and day of week fields individually.
- 3Read the plain-English description to confirm the meaning.
- 4Check the next 10 run times to verify the schedule.
- 5Copy the expression into your crontab, CI config, or scheduler.
Features
Plain-English Explanation
Every expression is translated into a readable sentence.
Next 10 Run Times
Preview upcoming executions in your local time zone.
Field-by-Field Editor
Edit minute, hour, day, month, and weekday separately.
Common Presets
One-click schedules for every N minutes, daily, weekly, monthly, and more.
Full Syntax Support
Wildcards, lists, ranges, steps, JAN–DEC, SUN–SAT, and @daily-style macros.
Validation
Clear errors for out-of-range values or the wrong number of fields.
When to Use the Cron Expression Generator
Linux crontab jobs
Schedule backups, cleanup scripts, and reports with crontab -e.
Kubernetes CronJobs
Write the schedule field for batch jobs running in your cluster.
GitHub Actions scheduled workflows
Set on.schedule.cron (GitHub uses UTC — adjust the hour accordingly).
Serverless and queue schedulers
Configure cron triggers for Vercel, Netlify, Cloudflare Workers, or BullMQ.
About the Cron Expression Generator
The generator uses the standard five-field cron format. When both day of month and day of week are restricted, the job runs when either matches — the same rule Vixie cron and most schedulers follow.
Run times are calculated in your browser’s local time zone. Servers and CI systems often run cron in UTC, so convert the hour if your scheduler uses a different time zone.
Cron Expression Generator FAQs
How do I write a cron expression for every 5 minutes?
Use */5 * * * *. The */5 in the minute field means every 5th minute.
What is the cron expression for every day at midnight?
Use 0 0 * * * (or the @daily macro). It runs at 00:00 every day.
How do I run a cron job on weekdays only?
Set the day-of-week field to 1-5, for example 0 9 * * 1-5 runs at 09:00 Monday to Friday.
What do the five cron fields mean?
In order: minute (0–59), hour (0–23), day of month (1–31), month (1–12), and day of week (0–6, where 0 and 7 are Sunday).
What time zone does cron use?
Cron uses the time zone of the server or service running it. Many cloud schedulers, including GitHub Actions, use UTC.
Does this support seconds or Quartz cron?
No. It supports the standard 5-field Unix cron format used by crontab, Kubernetes, and most CI tools.
Related Tools
Unix Timestamp Converter
Convert Unix epoch timestamps to dates and dates to timestamps. Seconds, milliseconds, UTC, and local time.
Regex Tester
Test JavaScript regular expressions with live match highlighting, capture groups, and replace.
UUID Generator
Generate random UUID v4 or time-ordered UUID v7 in bulk, and validate existing UUIDs/GUIDs.