Skip to content

Cron Builder

Build cron expressions visually, five fields, instant English description, common presets for every-minute through monthly schedules.

What this builds

Standard 5-field crontab expressions: minute, hour, day-of-month, month, day-of-week. Type values directly into each field, watch the plain-English description update at the bottom, copy the result.

The presets cover most schedules in one click, every minute, every 5 minutes, every hour, daily at 3 AM, weekdays at 9 AM, weekly on Sunday, monthly on the 1st. Tune from there if you need something specific.

Cron field semantics

Each field accepts:

  • *: every value (every minute, every hour, etc.)
  • */N: every N units (*/15 in minute field = every 15 minutes)
  • A-B: a range (1-5 in day-of-week = Monday through Friday)
  • A,B,C: a list (0,15,30,45 in minute = on the quarter hours)
  • A-B/N: range with step (9-17/2 in hour = 9, 11, 13, 15, 17)
  • A single number, that exact value

Combine ranges and lists in one field. 0 9-17,21 * * 1-5 means: at minute 0, between 9-17 plus 21, every day, every month, weekdays only.

Pair this with the cron parser

This is the builder: you type a schedule, get a cron expression. The companion cron-parser is the reader: paste an existing cron expression, get a plain-English description plus the next several run times.

Use cases:

  • Builder: writing a new scheduled job. Click presets, tune fields, copy.
  • Parser: inheriting an existing crontab from a colleague. Paste, read, understand.

The two tools share zero state, you can have both open in different tabs.

Common patterns

*/5 * * * *       Every 5 minutes
0 * * * *         Every hour, on the hour
0 0 * * *         Daily at midnight
0 9 * * 1-5       Weekdays at 9 AM
0 0 1 * *         First of every month at midnight
0 0 1 1 *         Yearly on January 1
0 0 * * 0         Weekly on Sunday at midnight
30 6 * * *        Daily at 6:30 AM
0 0 1,15 * *      The 1st and 15th of each month at midnight

Many schedulers (Jenkins, GitHub Actions) accept slightly extended cron syntax with a 6th field for seconds. This builder uses the standard 5-field unix crontab format.

Day-of-month and day-of-week interaction

When BOTH day-of-month and day-of-week are specified (i.e. neither is *), most cron implementations interpret this as OR, not AND. So 0 0 13 * 5 runs on the 13th of any month OR on any Friday, not just on Friday the 13th.

This is a famous gotcha. To match Friday the 13th specifically, you’d need a wrapper script that checks the date and runs the actual command only if both conditions are true.

Day-of-week numbering

Standard cron uses 0-6 = Sunday-Saturday. Most implementations also accept 7 as Sunday for compatibility with old Unix variants. Modern cron also accepts three-letter abbreviations (SUN, MON, …) but the builder uses numbers for consistency.

The week starts on Sunday in cron, regardless of locale. If you’re used to Monday-first calendars, expect to mentally adjust.

When NOT to use cron

Cron is great for periodic, schedule-based execution. It’s bad for:

  • Event-driven triggers: when something happens, not when the clock hits a number. Use webhooks or message queues.
  • Sub-minute precision: cron’s smallest unit is one minute. For finer scheduling, use a job runner.
  • Distributed coordination: running cron on multiple servers leads to duplicate executions. Use a centralized scheduler (Kubernetes CronJob, Airflow, Temporal).
  • Complex retry logic: cron just runs the command at the scheduled time. If it fails, your script needs to handle retries itself.

Frequently asked questions

What about 6-field cron with seconds? Used by Quartz, Spring Scheduler, and a few others. The first field becomes seconds, the rest shift over. This builder is 5-field only, for 6-field, hand-edit the output.

Why does my schedule run at unexpected times? Time zones. Most servers run cron in UTC. If your job needs to run at 9 AM local time, make sure your crontab matches the server’s timezone.

Can I use this for AWS EventBridge / GCP Cloud Scheduler? Mostly yes, but cloud schedulers have their own quirks. AWS uses a 6-field format with year as the last field. GCP uses standard 5-field. Read the cloud provider’s docs for edge cases.

What’s the difference between 0 and * in a field? 0 means “exactly value zero.” * means “every possible value.” 0 * * * * is “every hour at minute 0” while * * * * * is “every minute.”

cron builder scheduler devops automation

Related Tools

More in Developer Tools