Zokilos

Cron Expression Builder

Build, read & preview the next run times of a cron schedule

Use *, */n, a-b, or a,b,c in each field. Day of week: 0–6 (0 = Sunday).

* * * * *
Runs every minute

Next 10 run times

What Is This Cron Expression Builder?

A tool for building and understanding standard 5-field cron expressions — fill in the five fields or pick a preset, and it shows the expression, a plain-English description, and the actual next 10 times it would run.

How to Build a Cron Expression

1

Fill in minute, hour, day, month, and weekday.

2

Read the description and next run times.

3

Copy the expression when it looks right.

Using the Preset Schedules

Six common schedules — every minute, hourly, daily at midnight, weekdays at 9am, weekly, and monthly — are one click away, filling in all five fields at once so you don't have to build them from scratch for the common cases.

Understanding the Five Cron Fields

In order: minute (0–59), hour (0–23), day of month (1–31), month (1–12), and day of week (0–6, where 0 is Sunday). A field left as * means "every value" for that position.

Cron Syntax: *, Ranges, Steps, and Lists

Each field accepts * for every value, a-b for a range (like 1-5 for weekdays), */n for a step (like */15 for every 15 minutes), and a,b,c for a specific list (like 1,15 for the 1st and 15th) — and these can combine, such as 1-5/2.

Previewing the Next 10 Run Times

Rather than approximating, the tool simulates forward minute by minute from right now (up to roughly 14 months ahead) and checks each one against your expression, so the 10 dates shown are the actual times it would next fire, not estimates.

How Day-of-Month and Day-of-Week Combine

When only one of day-of-month or day-of-week is restricted, only that one matters. When both are restricted at the same time, standard cron uses OR logic: a day runs if it matches either field, not only if it matches both. An expression like day-of-month 1,15 with day-of-week 5 runs on the 1st, the 15th, and every Friday — not just Fridays that happen to land on the 1st or 15th.

Is This Compatible With Quartz or 6-Field Cron?

No. This builds standard 5-field Unix cron. Quartz-style schedulers (used by tools like Salesforce and some Java job frameworks) add a seconds field and use somewhat different syntax, which this tool doesn't generate or parse.

What This Tool Doesn't Do

  • No Quartz-style 6/7-field cron with seconds
  • No named day/month input (MON, JAN) — numbers only
  • No @daily/@hourly-style special string shortcuts as typed input
  • No timezone selection — run times use your browser's local time

Limitations

  • 5-field standard cron only, not Quartz-compatible
  • Numeric field input only, no three-letter names
  • No timezone override, local time only

Benefits of Using This Tool

  • Real next-run simulation, not a rough estimate
  • Correct standard-cron OR logic for day-of-month and day-of-week
  • Plain-English schedule description alongside the raw expression
  • Runs entirely in your browser — nothing sent to a server
  • Free, with no sign-up required

Frequently Asked Questions

Does this support Quartz or 6/7-field cron with a seconds field?

No. This builds standard 5-field Unix cron (minute, hour, day-of-month, month, day-of-week). Quartz-style schedulers, used by tools like Salesforce, add a seconds field and use slightly different syntax, which isn't supported here.

Can I type day or month names like MON or JAN instead of numbers?

No. Fields only accept numbers, ranges, steps, and lists (like 1-5, */2, or 1,15) — not three-letter day or month names, even though the schedule description below the expression does show names for readability.

How does it handle day-of-month and day-of-week both being restricted?

With OR logic, matching standard cron behavior: if both fields are restricted (not *), a day runs if it matches either one, not only if it matches both. For example, "1,15" in day-of-month and "5" in day-of-week runs on the 1st, the 15th, AND every Friday.

How accurate are the "next 10 run times"?

It's a real simulation, checking minute by minute from now forward (up to about 14 months ahead) against your parsed expression, not an approximation, so the dates shown are the actual next times that expression would fire.

Does it support special strings like @daily or @hourly?

Not as typed shortcuts, but the six preset buttons cover the same common schedules (every minute, hourly, daily at midnight, weekdays at 9am, weekly, monthly) and fill in the equivalent five-field expression for you.

Is my schedule sent to a server when I use this?

No. Parsing, validation, and the run-time simulation all happen entirely in your browser using JavaScript.