Developer ToolsAvailable now

Cron Expression Generator

Build cron schedule expressions visually and get a plain-English description of when they will run.

Quick Presets
Custom Schedule
Minute
Hour
Day (month)
Month
Day (week)
Use * for every, */n for every n, a-b for range, a,b for list. Day of week: 0=Sun, 1=Mon … 6=Sat.
Generated Expression
* * * * *
Meaning:Every minute
Minute (0–59)
Hour (0–23)
Day of month (1–31)
Month (1–12)
Day of week (0–6)

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

  1. Click a Quick Preset to start with a common schedule, or enter values directly in the five fields.
  2. Use * for every, */n for every n units, a-b for a range, and a,b for a list.
  3. 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.