Skip to main content
ByteKiwi
Home Cron Expression Generator

Cron Expression Generator

Build cron expressions visually with a plain-English explanation. Set the minute, hour, day, month, and weekday fields using the interactive builder - or type an expression directly to decode it.

Cron expression
Every minute
Minute*

Matches any minute

Hour*

Matches any hour

Day*

Matches any day

Month*

Matches any month

Weekday*

Matches any weekday

Common patterns

Click any pattern to load it into the builder.

Features

Everything you need, nothing you don’t.

  • Visual builder with controls for all 5 cron fields - minute, hour, day, month, and weekday
  • Human-readable explanation that updates in real time as you build the expression
  • Six one-click presets for the most common schedules
  • Type any cron expression directly to decode and edit it in the visual builder
  • Ten annotated examples of common patterns - click to load into the builder
  • Copy expression to clipboard with a single click or Cmd+C

Frequently asked questions

What is a cron expression?

A cron expression is a compact string that defines a recurring schedule for automated tasks. It consists of five space-separated fields: minute (0-59), hour (0-23), day of month (1-31), month (1-12), and day of week (0-6, where 0 = Sunday). Each field accepts a specific value, a wildcard (*), a range (e.g. 1-5), or a step (e.g. */5).

What does the asterisk (*) mean in a cron expression?

An asterisk is a wildcard that means "every possible value" for that field. For example, * in the hour field means "every hour", and * in the day-of-month field means "every day of the month". A fully wildcarded expression * * * * * runs every minute.

How do I run a job every 5 minutes?

Use the step syntax with a slash: */5 * * * *. The */5 means "at every 5th minute" - i.e. at 0, 5, 10, 15, ... 55. In general, */N means "every N units" starting from the minimum value for that field.

What is the difference between day-of-month and day-of-week?

Day-of-month (field 3) targets a specific calendar date within the month - e.g. the 1st or the 15th. Day-of-week (field 5) targets days by name - e.g. Monday (1) or Friday (5). When both are set to non-wildcard values, most cron implementations use OR semantics: the job runs if either condition matches.

How do I run a task only on weekdays?

Use the day-of-week field with the range 1-5, which covers Monday through Friday. For example, 0 9 * * 1-5 runs at 9:00 AM every weekday. Sunday is 0 and Saturday is 6, so the full week is 0-6 and weekends are 0,6.

What is the timezone for cron expressions?

Standard cron does not have a built-in timezone - it runs in whatever timezone the server is configured for, typically UTC. Many modern schedulers (GitHub Actions, AWS EventBridge, Vercel Cron Jobs) allow you to specify a timezone separately. Always verify the timezone setting on your target platform to avoid off-by-one hour issues.

Can I use cron on Vercel, GitHub Actions, or AWS?

Yes. Vercel Cron Jobs, GitHub Actions scheduled workflows (on.schedule.cron), and AWS EventBridge Scheduler all accept standard five-field cron syntax. AWS EventBridge uses a slightly different syntax with a required sixth year field and swapped positions, so check the platform docs when copying expressions.

How do I run a job at multiple specific times?

Use comma-separated values. For example, to run at 9 AM and 5 PM, use 0 9,17 * * *. You can list as many values as needed within a field, separated by commas.