Builder

Cron Expression Builder

Build or check a standard five-field cron expression, read it in plain English and see when it will run next in the time zone you choose.

Runs in your browser — your input isn't sent anywhere.

Loading the tool…

Example#

The expression 0 9 * * 1-5 means "at 09:00, Monday through Friday". The tool reads it back as exactly that and lists the next five run times in the time zone you pick. The expression */15 * * * * runs every 15 minutes. Use the buttons to build a schedule, or type an expression and the builder updates to match.

How it works#

A standard cron expression has five fields: minute (0-59), hour (0-23), day of month (1-31), month (1-12) and day of week (0-7, where 0 and 7 are Sunday). Each field accepts * (every value), lists with commas, ranges with a dash, steps with a slash, and names such as JAN or MON. The shortcuts @yearly, @monthly, @weekly, @daily and @hourly are expanded to their five-field form.

The description is generated from the expression. The next run times are calculated by walking forward day by day in the chosen time zone and testing each allowed hour and minute against the calendar. When both day of month and day of week are restricted, standard cron runs the job when either one matches, and the tool shows a note whenever that rule applies.

Assumptions#

  • Standard five-field cron, as used by Unix cron, GitHub Actions schedules and Kubernetes CronJobs.
  • Times are shown in the zone you choose. UTC is the default because GitHub Actions schedules run in UTC.
  • The next five runs are calculated from the current time on your device.

Use cases#

  • Writing a schedule for a GitHub Actions workflow or a Kubernetes CronJob.
  • Checking an expression you inherited before you change it.
  • Finding out what time a job will really run for a team in another time zone.
  • Learning how steps, ranges and the day-of-week rule behave.

Limitations#

Schedulers differ. Some use another time zone, enforce a minimum interval or run jobs late when they are busy. A valid expression does not guarantee that a scheduler runs it at exactly that moment.

Seconds and year fields, and the characters ? L W and #, belong to other cron dialects such as Quartz and AWS EventBridge. The tool does not support them and tells you so. In time zones with daylight saving time, a run inside a skipped hour may be skipped, and one inside a repeated hour may run twice, depending on the scheduler. The tool runs in your browser and sends nothing anywhere.

Newsletter

New guides, comparisons and analysis, sent only when there is something worth your time.

  • New articles worth your time, not every link we publish.
  • Tools and resources when they launch.
  • No spam, no selling your address. Unsubscribe anytime.

Get useful signal by email

We're building the list before the first issue. You'll get an email when the newsletter starts.