Cron Expression Generator

Build a cron expression field by field, and see exactly what it means and when it'll next run.

Runs in your browserNo sign-up required

Build It, and Confirm It Actually Does What You Think

A cron expression is easy to write and surprisingly easy to misread — five terse fields where a single misplaced comma changes the entire schedule. This tool goes beyond just building the string: it translates whatever expression you have into a plain-English sentence and computes the next 5 real dates and times it would actually fire on, so you can confirm the schedule before it goes anywhere near a production system.

Useful for: DevOps engineers and sysadmins scheduling jobs, and backend developers setting up recurring tasks without guessing at cron syntax.

How to Use This Tool

  1. 1Start from a preset, or fill in each field yourselfMinute, hour, day of month, month, and day of week — each accepts *, a number, a range, a list, or a */step.
  2. 2Read the plain-English explanationConfirms exactly what the expression means before you use it.
  3. 3Check the next 5 run timesCalculated against the current date and time, so you can confirm the schedule behaves the way you expect.
  4. 4Copy the expressionOne click copies the 5-field cron string, ready to paste into a crontab, CI config, or scheduler.

Cron Field Syntax

  1. 1* — every valueMatches every possible value for that field — every minute, every hour, every day, and so on.
  2. 2*/N — every N unitsFor example, */15 in the minute field means every 15 minutes: 0, 15, 30, 45.
  3. 3A-B — a rangeFor example, 1-5 in the day-of-week field means Monday through Friday.
  4. 4A,B,C — a specific listFor example, 0,12 in the hour field means midnight and noon only.

The Day-of-Month / Day-of-Week Gotcha

  1. 1Day-of-month and day-of-week interact in a way that surprises peopleIf both fields are restricted (neither is *), standard cron treats them as OR, not AND — the schedule fires when either condition is true, not only when both are. If only one of the two is restricted, only that one matters, and the other is ignored entirely.
  2. 2Why this tool computes actual next-run dates instead of just describing the patternThis OR-vs-AND behavior is exactly the kind of thing that's easy to get wrong reading an expression by eye. Seeing the next 5 real dates it would actually fire on catches a misunderstanding immediately, before it reaches a production schedule.

Frequently Asked Questions

What do the 5 fields in a cron expression mean, 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) — in that exact order, separated by spaces.

What happens if I set both day-of-month and day-of-week?

Standard cron treats this as an OR condition — the job runs if either field matches, not only when both do. This is a common source of confusion; this tool's next-run-times list will show you the actual resulting schedule so there's no ambiguity.

Can I paste an existing cron expression to understand what it does?

Yes — type or paste the 5 fields into the individual boxes (or edit the combined expression they build), and the plain-English description and next-run list update immediately to explain exactly what it means.

Does this account for my local timezone?

Next-run times are calculated using your browser's local time zone. If the system actually running this cron job is in a different time zone, the real run times will be offset accordingly — confirm the server's configured time zone separately.

Why does the next-run list say no matches were found?

This is rare and usually means an impossible combination — like day-of-month 31 combined with a month that never has 31 days. Double-check the day-of-month and month fields together.

Is this cron generator free to use?

Yes, completely free, with no sign-up, and every calculation happens locally in your browser.