Cron expression online: check it and see the next runs

Type a five-field cron expression and the tool explains it in plain words and lists the next 5 runs. Times are shown both in your time zone and in UTC, which most servers use. If something is wrong, you see which field breaks and why.

Build it in the builder

Loading the tool...

How to set it up

  1. 1

    Enter the expression

    Type a schedule in crontab format: minute, hour, day of month, month and day of week, separated by spaces. Or pick a preset such as every 5 minutes, weekdays at 9:00 or the first day of the month.

  2. 2

    Read it in plain words

    The schedule appears in words under the field, for example "At 09:00 AM, Monday through Friday". This makes swapped fields easy to spot, a common slip is putting the hour where the minute goes.

  3. 3

    Look at the next runs

    The list shows the next 5 runs. "My time zone" reads the schedule in the time of your device, "UTC" shows when the job fires on a server that runs on UTC.

  4. 4

    Fix errors

    When a value is out of range, a step is zero or there are not five fields, the tool highlights the field and explains the problem. Six-field expressions with seconds (Quartz, Spring) are not accepted here.

  5. 5

    Use the expression

    The finished expression works in a server crontab, GitHub Actions schedules, Kubernetes CronJobs and other schedulers that read classic five-field cron.

Frequently asked questions

In order: minute (0-59), hour (0-23), day of month (1-31), month (1-12) and day of week (0-7, where both 0 and 7 are Sunday). An asterisk means any value, a comma lists values, a hyphen sets a range and a slash sets a step: */10 in the minute field means every 10 minutes.

Use */5 * * * *. The job runs at minute 0, 5, 10 and so on of every hour. For every 15 minutes replace 5 with 15, and to run once an hour at the top of the hour use 0 * * * *.

The time zone of the machine or service it runs on. A regular crontab uses the server clock, GitHub Actions always uses UTC. So 0 9 * * * on a UTC server fires at 12:00 in Moscow or 10:00 in Berlin in winter. The time zone switch on this page shows both views.

In classic cron these two fields are combined with OR: 0 9 1 * 1 runs on the first day of every month and on every Monday. If you need only the Mondays that fall on the first, check that inside the job itself.

Not as a string. In nana800 a schedule is set in the time trigger block with drop-down lists: second, minute, hour, day of month, month, day of week and time zone. Each list takes one number, and minutes, hours, days and months also have an "every" option. Steps like */15, lists and ranges cannot be set there, but a schedule such as every day at 9:00 takes a couple of clicks.

Build your first scheme for free

Sign-up is free and needs no card. Every month the balance is topped up to $3.50 for free, enough for about 3,500 runs of basic blocks.

Build it in the builder