Cron Expression Explainer

Reads a five- or six-field cron expression back as a plain sentence, works out the next five runs in the time zone you pick and explains each field on its own. It also tells you what to watch for before pasting it into an n8n Schedule Trigger.

Expression

Five fields: minute, hour, day of month, month, day of week. Six with seconds in front, as n8n allows.

Meaning

Every 15 minutes from 09:00 to 17:45 on weekdays

Next 5 runs

Starts on this device's time zone.

Worked out once your time zone is read…

What happens when the clocks change?

Cron reads the wall clock. When clocks go forward, every run of a fixed-time job (neither the minute nor the hour field starts with *) that falls in the skipped hour happens at the moment the clock jumps; with two of its times in there, it runs twice at that moment. Jobs that run every minute or every hour simply skip that stretch.

When clocks go back, a fixed-time job runs only the first time the repeated hour comes round, while every-minute and every-hour jobs run in both passes. This is how cron on Linux (cronie) behaves; n8n and other libraries can differ at these moments.

Turkey has not changed its clocks since 2016, so Europe/Istanbul never runs into this.

Examples

Field by field

FieldMeaning
Minute*/15every 15 minutes0, 15, 30, 45
Hour9-17hours 09–179, 10, 11 … 17
Day of month*every day1, 2, 3 … 31
Month*every monthJan, Feb, Mar, Apr, May, Jun, Jul, Aug, Sep, Oct, Nov, Dec
Day of week1-5Monday to FridayMon, Tue, Wed, Thu, Fri

n8n and crontab

For this expression

No known differences: you can paste it into n8n or a Linux crontab as it is.

Before scheduling in n8n

  1. In the Schedule Trigger node, set Trigger Interval to Custom (Cron) and paste the expression into Expression. Five fields work, and so do six with seconds in front.
  2. The time zone comes from the workflow's Timezone setting; if none is set, the instance's own time zone applies. On a self-hosted n8n that is the GENERIC_TIMEZONE variable, and if nobody set it, America/New_York: a 0 9 * * * meant for Istanbul runs at 16:00 Istanbul time while the US is on daylight saving time and at 17:00 in winter. On n8n Cloud the setting is under Manage → Timezone.
  3. A schedule only runs in a published workflow: Publish in n8n 2, the Active toggle in 1.x. In n8n 2, if you change the expression and do not publish again, the old schedule keeps running.

Let’s make it yours

Need a version of this with your brand on it, wired into your own systems? Bulk jobs, an API, a panel or an automation — tell us about it and we will scope it together.

Let’s make it yours →

How to read a cron expression

A cron expression says when a job runs in five short fields: minute, hour, day of month, month and day of week. A line like */15 9-17 * * 1-5 is quick to write and slow to read. This cron expression explainer translates crontab to English (“Every 15 minutes from 09:00 to 17:45 on weekdays”), lists the next cron run times in the time zone you choose with how far away each is, and explains every field on a row of its own.

The result changes as you type, and a broken field is named with what is wrong. It reads the classic five-field crontab and the six-field form with seconds in front that n8n accepts, and it expands shorthands such as @daily. It also points out the rule that surprises most people: when both day fields are set, the job runs on days that match either one. So 0 0 13 * 5 is not Friday the 13th but every 13th and every Friday.

If you put a cron expression in the n8n Schedule Trigger, a separate panel covers where its time zone comes from, the America/New_York default that catches people out and where n8n reads an expression differently. Pick America/New_York and each run shows your own clock too: when an unconfigured n8n really fires. Everything is worked out in your browser; nothing you type is sent anywhere.

Made by KARSH

A software company based in Erzurum and Istanbul. Web, mobile, desktop, automation and AI. karsh.app

Questions

How do I run a cron job every 5 minutes?

Use */5 * * * *. The */5 in the minute field means every fifth minute starting from 0, and the other four fields mean every hour, day, month and weekday. With seconds, as n8n allows, it is 0 */5 * * * *.

What does 0 9 * * 1-5 mean?

At 09:00 on weekdays. 1-5 is Monday to Friday; both 0 and 7 mean Sunday.

Why does my n8n Schedule Trigger run at the wrong time?

Usually the time zone. The Schedule Trigger uses the workflow's Timezone setting or, if that is empty, the instance's own time zone, and a self-hosted instance where nobody set GENERIC_TIMEZONE runs on America/New_York. Setting the workflow's time zone explicitly fixes it.

How do I schedule a cron job on the last day of the month?

Standard cron cannot say it: L is a Quartz extension and n8n rejects it too. The usual workaround is to run on days 28–31 and have the job check whether tomorrow is the 1st.

What do * and / mean in a cron expression?

* means every value of the field and / is a step: */15 in the minute field gives 0, 15, 30 and 45. 10-40/10 counts from 10 to 40 in tens, and 5/15 starts at 5 and adds 15 each time.

More tools

[06]

Quote

MAG1 / 6

Six questions, two minutes. At the end I show you what I understood — every line is editable before it goes anywhere.

What would you like built?

Only what you type into this form, and which tool you sent it from, is stored.