Developer

Cron Expression Builder

Build and understand cron schedules in plain English, with the next run times.

  • Free forever
  • No sign-up
  • Runs in your browser
Share X LinkedIn

Cron expression

minutehourday (month)monthday (week)

In plain English

At 09:00, on Monday, Tuesday, Wednesday, Thursday, Friday.

Next 5 run times (your local time)

Calculating…

What is a cron expression builder?

Cron is the scheduling syntax that has run scheduled tasks on Unix-like systems for decades — backups, report emails, cache warm-ups, cleanup jobs. A cron expression is a compact line of five fields that says when a job should run. It's powerful, but it's also famously easy to misread: is 0 0 1 * * the first of the month or 1am every day? A cron expression builder removes the guesswork by translating the syntax into plain English and showing you exactly when the job will fire next.

This tool does three things at once: it parses your expression, describes it in a sentence, and previews the next five run times in your local timezone — all live as you type, and all entirely in your browser.

How to use it

  1. Type a 5-field cron expression into the box, or pick a preset (every minute, hourly, daily 9am, weekdays 9am, weekly Monday, monthly 1st).
  2. Read the plain-English description that appears underneath.
  3. Check the next 5 run times to confirm the schedule does what you expect.
  4. Hit Copy and paste the expression into your crontab, CI config, or scheduler.

If the expression is malformed, you'll get a specific error pointing at the field that's wrong, rather than a silent failure.

The five fields

A standard cron expression is five space-separated fields, in this order:

┌─ minute        (0-59)
│ ┌─ hour        (0-23)
│ │ ┌─ day-of-month (1-31)
│ │ │ ┌─ month   (1-12 or JAN-DEC)
│ │ │ │ ┌─ day-of-week (0-6 or SUN-SAT; 0 and 7 = Sunday)
│ │ │ │ │
* * * * *

Read left to right, the example above means "every minute of every hour of every day."

Special characters

Each field accepts the same building blocks:

  • * (asterisk) — every value. * * * * * is every minute.
  • , (list) — specific values. 0 9,17 * * * runs at 09:00 and 17:00.
  • - (range) — a span. 0 9 * * 1-5 runs at 09:00 Monday through Friday.
  • / (step) — intervals. */15 * * * * runs every 15 minutes; 0 */2 * * * every two hours.
  • Names — months accept JANDEC and weekdays accept SUNSAT, so 0 8 * * MON is readable as "08:00 every Monday."

You can combine them: 0 0,12 1-15 */2 * is valid and the tool will spell it out for you.

Common examples

ExpressionMeaning
* * * * *Every minute
*/5 * * * *Every 5 minutes
0 * * * *Every hour, on the hour
0 9 * * *Every day at 09:00
0 9 * * 1-5Weekdays at 09:00
30 2 * * 0Every Sunday at 02:30
0 0 1 * *Midnight on the 1st of every month
0 0 1 1 *Midnight on January 1st

Gotchas worth knowing

  • Day-of-month vs day-of-week is an OR. This is the big one. When both the day-of-month and day-of-week fields are set (neither is *), cron runs when either condition matches — not both. 0 0 13 * 5 fires on the 13th and every Friday. This tool follows the same OR-semantics so its predicted run times match real cron.
  • Impossible dates never fire. 0 0 30 2 * (Feb 30th) will simply never run. The preview will show no upcoming runs, which is your hint that the schedule is unreachable.
  • Seconds aren't standard. Classic cron has no seconds field. Some schedulers (Quartz, some libraries) add a sixth field for seconds — this builder uses the standard 5-field form.
  • Timezone matters. The preview uses your device's timezone. Production cron usually runs in UTC or the server's timezone, so a "9am" job may not fire at 9am where you are. Always check what timezone your scheduler uses — and when you need to pin a job to an exact moment across zones, our Unix Timestamp Converter translates between epoch time and human-readable dates.

The privacy and no-funnel wedge

Everything here happens client-side. The parser, the English description, and the next-run calculation are plain JavaScript running on your machine — your expressions are never uploaded, logged, or tied to an account. Open your browser's network tab while you type and you'll see no requests at all.

That's a deliberate contrast with the popular cron sites. The best-known one, crontab.guru, is run as lead-gen for a paid monitoring product (Cronitor), nudging you toward sign-up and upsell. This builder has none of that: no account, no monitoring upsell, no tracking funnel, no "create a free account to save your schedule." Just a fast, accurate, local tool that tells you what your cron line does and when it runs — then gets out of your way.

Build the schedule, read it back in English, confirm the next runs, copy it, ship it.

Frequently asked questions

Comet's got your back

Stuck on something? Every tool has a short guide and FAQ — and Comet can point you to the right spot.

Visit help centre