Free Cron Expression Generator — Build, Explain & Test Cron
Build cron schedules, get a plain-English explanation, and preview the next 10 run times. Supports steps, ranges, and @daily.
“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.
Build a cron expression with a visual editor, read a plain-English explanation, and preview the next run times for Linux, GitHub Actions, or Kubernetes.
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.
Popular Cron Expression Generator searches
- Cron Expression for Every 5 MinutesThe cron expression for every 5 minutes is */5 * * * *. See what it means, test variations and copy it into crontab, Kubernetes or GitHub Actions.
- Cron Expression to Run Every HourThe cron expression to run every hour is 0 * * * *. Learn what it means, how it differs from @hourly and how to change the minute.
- Cron Expression for Daily at MidnightThe cron expression for every day at midnight is 0 0 * * *. See what it means, how timezones affect it and how to schedule other daily times.
- Cron Expression for Every Monday at 9 AMThe cron expression for every Monday at 9 AM is 0 9 * * 1. Understand the day-of-week field and adapt it for other weekdays and times.
- Cron Expression for Weekdays During Business HoursSchedule a cron job every 30 minutes from 9 AM to 5 PM, Monday to Friday, with */30 9-17 * * 1-5. See how ranges and steps combine.
- Cron Expression for the First Day of Every MonthThe cron expression for the first day of the month is 0 0 1 * *. Use it for monthly billing, reports and cleanup, and learn how to handle the last day.
- GitHub Actions Cron ScheduleWrite a GitHub Actions schedule trigger with cron syntax. Build and verify expressions for daily and hourly workflows. Remember: GitHub runs them in UTC.
- Kubernetes CronJob Schedule SyntaxWrite the schedule field of a Kubernetes CronJob. Build and verify a cron expression such as a weekly backup, then paste it into your manifest.
- Cron Expression for Every 30 MinutesThe cron expression for every 30 minutes is */30 * * * *, or 0,30 * * * * for the same result. Compare both forms and test your own schedule.
- Cron Expression for Every QuarterSchedule a cron job once a quarter with 0 0 1 1,4,7,10 *. See how month lists work and when quarterly reports will run.
Related Developer 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.