Cron Expression Generator
Build cron schedule expressions visually and get a plain-English description of when they will run.
* for every, */n for every n, a-b for range, a,b for list. Day of week: 0=Sun, 1=Mon … 6=Sat.* * * * *What is Cron Expression Generator?
Cron Expression Generator creates standard 5-field cron expressions (minute, hour, day-of-month, month, day-of-week) from quick presets or fully custom inputs. Each expression is described in plain English so you can confirm the schedule is correct before using it in a cron job, GitHub Actions workflow, Cloud Scheduler task, or any system that accepts cron syntax.
All generation runs in your browser — no server needed. Includes eight common presets covering the most frequent scheduling patterns developers reach for, plus full support for step values (*/15), ranges (1-5), and lists (1,3,5).
Common Use Cases
- Scheduling a daily database backup cron job on a Linux server
- Configuring a GitHub Actions workflow to run on a weekly schedule
- Setting up a Google Cloud Scheduler or AWS EventBridge rule
- Verifying an existing cron expression runs at the intended time
- Learning cron syntax by experimenting with presets and field values
How to Use Cron Expression Generator
- Click a Quick Preset to start with a common schedule, or enter values directly in the five fields.
- Use * for every, */n for every n units, a-b for a range, and a,b for a list.
- Copy the generated expression and read the plain-English description to verify it runs when you expect.
Related Tools
FAQ
What is a cron expression?
A cron expression is a string of five space-separated fields that define a recurring schedule: minute (0–59), hour (0–23), day of month (1–31), month (1–12), and day of week (0–6, where 0 is Sunday). Cron is a Unix time-based job scheduler; the expression tells it exactly when to run a task.
What does */15 mean in a cron expression?
The */ syntax means 'every N units'. */15 in the minute field means every 15 minutes (at 0, 15, 30, and 45 minutes past the hour). */2 in the hour field means every 2 hours. This step syntax works in any field.
How do I run a job every weekday at 9 AM?
Use 0 9 * * 1-5. The fields are: minute=0, hour=9, day-of-month=* (any), month=* (any), day-of-week=1-5 (Monday through Friday). The 1-5 range in the day-of-week field restricts the job to Monday (1) through Friday (5).
Is this cron expression compatible with GitHub Actions?
Yes — GitHub Actions uses standard 5-field cron expressions in the schedule trigger. Note that GitHub Actions schedules run in UTC. The minimum interval GitHub Actions supports is every 5 minutes, and scheduled workflows may be delayed during periods of high load.
What is the difference between day-of-month and day-of-week?
Day-of-month (field 3) specifies which calendar date the job runs (e.g. the 1st). Day-of-week (field 5) specifies which day of the week (e.g. Monday). When both are set to non-wildcard values, most cron implementations run the job when either condition is satisfied (OR logic), which can be surprising — use * in one field to avoid ambiguity.