Cron Expression Generator

Build cron schedules visually and translate any cron expression to plain English. Choose a preset or fill in the fields manually.

Minute 0–59
Hour 0–23
Day (month) 1–31
Month 1–12
Day (week) 0–7 (0=Sun)
* * * * *
Every minute
Enter a cron expression above

Special Characters

*Any / every value
*/NEvery N units (step)
N-MRange from N to M
N,MList: N and M
N-M/SRange with step S

Common Examples

* * * * *Every minute
0 * * * *Every hour
0 0 * * *Daily at midnight
0 9 * * 1-5Weekdays at 9 AM
0 0 1 * *Monthly on 1st
*/5 * * * *Every 5 minutes

What Is a Cron Expression?

A cron expression is a compact notation for defining recurring schedules. It originates from the Unix cron daemon — a background process that runs scheduled commands at specified times. Cron expressions are now used across virtually every platform that supports scheduled tasks: Linux systems, AWS EventBridge, GitHub Actions, Kubernetes CronJobs, cloud functions, and automation tools like Zapier and Make.com.

A standard cron expression has five space-separated fields. From left to right: minute (0–59), hour (0–23), day of month (1–31), month (1–12), and day of week (0–7, where both 0 and 7 mean Sunday). Some platforms add a sixth field for seconds at the beginning or for a year at the end.

Cron Field Values and Special Characters

Each field accepts the following patterns:

  • * — Wildcard: matches every valid value. * * * * * runs every minute.
  • */N — Step: matches every Nth value. */5 in the minute field runs at 0, 5, 10, 15 … 55.
  • N-M — Range: matches values from N to M inclusive. 1-5 in the weekday field means Monday through Friday.
  • N,M,O — List: matches specific values. 0,6 in the weekday field means Sunday and Saturday.
  • N-M/S — Stepped range: matches every Sth value within the range N–M.

How to Read Common Cron Expressions

* * * * * — Every minute, around the clock. Rarely used in production due to the load it creates.

0 * * * * — At the top of every hour (minute 0). A common schedule for hourly data syncs.

0 0 * * * — Every day at midnight (00:00). Used for daily database backups, report generation.

0 9 * * 1-5 — At 9:00 AM every Monday through Friday. Business-hours notifications or reports.

0 0 1 * * — At midnight on the 1st of every month. Monthly billing, archiving tasks.

*/15 * * * * — Every 15 minutes. Health checks, metrics collection, cache refreshes.

0 2 * * 0 — At 2:00 AM every Sunday. Weekly maintenance window.

Cron Timezone Behavior

Standard Unix cron runs in the local system timezone. Cloud-based cron schedulers (AWS EventBridge, Google Cloud Scheduler, GitHub Actions) default to UTC unless you specify a timezone. Always check which timezone your cron runner uses — a job scheduled for 0 9 * * * will run at 9 AM local time on a server-level cron but at 9 AM UTC on most cloud schedulers (which may be 4 or 5 AM in New York).

Best practice: schedule cloud cron jobs in UTC and document the intended local time in comments. Avoid scheduling critical jobs at DST transition hours (2:00 or 3:00 AM local time in DST-observing regions), as these hours can be ambiguous or skipped entirely.

Frequently Asked Questions

What is a cron expression?

A cron expression is a five-field string defining a recurring schedule. Fields represent: minute, hour, day of month, month, and day of week. It originated in the Unix cron scheduler and is now used across cloud platforms, CI systems, and automation tools.

What does * mean in a cron expression?

An asterisk (*) is a wildcard meaning "every valid value for this field." * * * * * runs every minute of every hour every day. Combine it with a step — */5 — to run every 5 minutes.

How do I run a cron job every 5 minutes?

Use */5 * * * *. The */5 in the minute field means "every 5 minutes." Similarly, */10 * * * * runs every 10 minutes, and */30 * * * * runs at minutes 0 and 30 of every hour.

What are the five fields in a cron expression?

Left to right: (1) Minute 0–59, (2) Hour 0–23, (3) Day of month 1–31, (4) Month 1–12, (5) Day of week 0–7 (0 and 7 both = Sunday). Some platforms prefix a 6th field for seconds.

How do I schedule a cron job only on weekdays?

Use 1-5 in the day-of-week field (1=Monday, 5=Friday). Example: 0 9 * * 1-5 runs at 9:00 AM every weekday. 30 17 * * 1-5 runs at 5:30 PM Monday through Friday.

Related Developer Tools