Free 30-minute introductory call: find out what you can automate.

Free tool

Cron expression generator and explainer

Build a schedule or paste a cron expression and read in plain English when it runs, with the next run times.

Five fields: minute, hour, day of month, month, day of week. Macros such as @daily work too.

Quick picks
Or build the schedule field by field
30
8
*
*
1-5

When does this run?

At 08:30 on Monday through Friday

Next 5 run times

Time zone: determined in your browser

The run times are calculated in your browser.

Field by field

Minute 30
minute 30
Hour 8
hour 8 (08:00)
Day of month *
every day of the month
Month *
every month
Day of week 1-5
Monday through Friday

Runs entirely in your browser: what you enter is not sent to us or stored.

What is a cron expression?

Cron is the scheduler that runs on almost every Linux and Unix server. You give it a line with a schedule and a command, and cron runs that command at the moments the schedule describes: a backup every night, a sync every quarter of an hour, a report every Monday morning. The same schedule format is used by GitHub Actions, Kubernetes CronJobs, Vercel, Laravel, Coolify and many other platforms.

The schedule is the cron expression: five fields separated by spaces. Because the notation is so compact, it is not easy to read at a glance. With this cron expression generator you paste an expression and see straight away, in plain English, when it runs, plus the next five run times in your own time zone. The other way round, you make a choice per field and the tool builds the expression for you. Both sides stay in sync: change the text and the builder follows, and vice versa.

The five fields of a cron expression

The fields always come in the same order. Minute: 0 to 59. Hour: 0 to 23, in 24-hour notation. Day of month: 1 to 31. Month: 1 to 12, or JAN to DEC. Day of week: 0 to 7, where both 0 and 7 are Sunday, or SUN to SAT. Names are not case-sensitive.

Each field uses a few building blocks. An asterisk (*) means every value. A comma makes a list, such as 1,15 for the 1st and the 15th. A dash makes a range, such as 1-5 for Monday to Friday. A slash sets a step: */15 in the minute field is every 15 minutes, 10-30/5 is minute 10, 15, 20, 25 and 30. Most cron implementations also support macros: @hourly, @daily (or @midnight), @weekly, @monthly and @yearly (or @annually).

A few examples. 30 8 * * 1-5 runs at 08:30 on weekdays. 0 0 1 * * runs at midnight on the first day of every month. */10 9-17 * * * runs every ten minutes between 09:00 and 17:59. 0 3 * * 0 runs every Sunday at 03:00, a popular time for maintenance jobs.

Common mistakes with cron

The most common mistake is the time zone. Servers and containers often run in UTC, while you think in local time. On such a server in the Netherlands, a job set to 0 8 * * * runs at 10:00 local time in summer and at 09:00 in winter. So always check which time zone the cron daemon or platform uses. This tool shows the run times in your browser's time zone; if your server runs in UTC, convert accordingly. Around the switch to and from daylight saving time, a job between 02:00 and 03:00 can be skipped or become eligible twice. Schedule important jobs outside that hour.

Second pitfall: day of month and day of week together. If you fill in both, cron runs when either one matches, not only when they coincide. 0 9 13 * 5 therefore means every 13th of the month and every Friday, not just Friday the 13th. If you really need the combination, leave one field on * and check the other condition in your script.

We also often see expressions with six fields. They come from Quartz (Java), Spring or node-cron, where an extra seconds field comes first and sometimes a year field comes last. Quartz also knows characters such as ?, L, W and #. This tool deliberately supports the standard 5-field notation used by cron, GitHub Actions and Kubernetes, and gives a clear message if you paste a 6-field or Quartz expression. Finally, watch out for impossible dates: 0 0 30 2 * never runs, because February has no 30th day.

When cron is no longer enough

Cron is ideal for a few separate jobs on a single server. It gets harder when jobs depend on each other, when you want to know whether a job succeeded, or when a failed run should be retried automatically. By default cron sends at most an email with the output, and if the server is down, a missed run is not caught up.

Running dozens of scheduled jobs across several servers, with integrations to your accounting software, CRM or webshop? Then a workflow or automation platform is often the better choice. Such a platform schedules jobs with the same cron notation, but adds logging, monitoring, retries, dependencies and alerts on failure. You see in one overview what is running and what went wrong, without anyone having to log in to the server.

Frequently asked questions

Cron expression generator: your questions answered

What does */15 * * * * mean in cron?

This expression runs every 15 minutes: at minute 0, 15, 30 and 45 of every hour, every day. The */15 in the minute field means "start at 0 and take steps of 15". The other four fields are *, so there is no restriction on hour, day or month.

Is Sunday 0 or 7 in a cron expression?

Both. In the day-of-week field, 0 and 7 both stand for Sunday, 1 is Monday and 6 is Saturday. You can also use the abbreviations SUN to SAT; they are not case-sensitive.

Which time zone does a cron job run in?

In the time zone of the server or platform running the cron, which is often UTC. GitHub Actions, for example, always uses UTC. This tool shows the next run times in your browser's time zone, so you can check whether the schedule matches what you expect.

Why does my cron job run more often than I expect?

Usually because both day of month and day of week are filled in. Cron then runs when either one matches. Another cause is a * in the minute field: 0 9 * * * runs once at 09:00, but * 9 * * * runs sixty times, every minute between 09:00 and 09:59.

Does this tool support cron with seconds or Quartz syntax?

No, the tool works with the standard 5-field Unix cron notation that GitHub Actions and Kubernetes also use. If you paste an expression with six or seven fields, or with Quartz characters such as ?, L, W or #, you get a message explaining why. For a 6-field expression, drop the first field (seconds) to check it here.

What happens to a cron job when daylight saving time starts?

When the clocks go forward, the hour from 02:00 to 03:00 does not exist; a job set for 02:30 drops out on that day in this tool. When the clocks go back, that hour occurs twice; the tool then shows each clock time once. How your server handles it differs per cron implementation, so schedule critical jobs outside that hour or let the server run in UTC.

Free tools

More free tools

All tools
  • AI readiness scan

    Answer ten questions about one process and see straight away whether AI, rule-based automation or something else is the right first step.

  • Savings calculator

    Enter how much time your team spends on manual work and get an instant estimate of the savings per year.

  • JSON formatter & validator

    Paste JSON, make it readable or compact, and see exactly where an error is, by line and column. Everything stays in your browser.

  • CSV to JSON converter

    Turn a CSV export from Excel, your webshop or your accounting software into JSON for an API or import. The delimiter is detected automatically.

  • Custom software or SaaS

    Compare the cost of an off-the-shelf package with custom software over several years, using your own numbers.

  • Dutch VAT calculator

    Convert an amount from excluding to including Dutch VAT or back, at 21%, 9% or 0%, and see exactly how much VAT it contains.

  • Margin calculator

    Enter two of cost price, selling price, margin or markup and get the rest, including the difference between margin and markup and the price with VAT.

  • EAN checker

    Check whether an EAN-13, EAN-8, UPC-A or GTIN-14 is valid, calculate a missing check digit, and validate a whole list in one go.

  • Reorder point calculator

    Work out the stock level at which to reorder, how much safety stock you need and what a sensible order quantity is.

Team talking and laughing around a laptop

Free introductory call

Curious what Kantex could automate for you?

Book a free 30-minute introductory call. We walk through your process and show where software, integrations or AI deliver the most.

  • No obligation and no sales pitch
  • Concrete opportunities for your process
  • A clear next step and quote
Four colleagues discussing a design on a laptop

Free process analysis

Find out in 30 minutes what you can automate

Together we walk through one process and show where software, integrations or AI save time. No obligation.