Free tool
n8n cron expression builder
Published · Last updated · n8n notes checked against docs.n8n.io on November 11, 2026
An n8n cron expression has five fields (minute, hour, day of month, month, day of week), or six with seconds first. Paste it into the Schedule Trigger's Custom (Cron) interval. n8n runs it in the workflow timezone, or the instance timezone if none is set.
Build your cron expression
At 09:00, on Monday-Friday.
Examples from n8n's docs
| Field | You wrote | Matches |
|---|---|---|
| Second | (not set) | 0 |
| Minute | 0 | 0 |
| Hour | 9 | 9 |
| Day of month | * | every |
| Month | * | every |
| Day of week | 1-5 | 1, 2, 3, 4, 5 |
Next 10 runs
- Working out run times in your browser...
n8n notes for this schedule
"The node relies on the timezone setting." n8n uses the workflow timezone if set, otherwise the instance timezone. "The default is America/New York for self-hosted instances. n8n Cloud tries to detect the instance owner's timezone when they sign up, falling back to GMT as the default."
"If a workflow uses the Schedule node as a trigger, make sure that you save and publish the workflow."
Where to paste it in n8n
- Add a Schedule Trigger node and set Trigger Interval to Custom (Cron).
- Paste the expression into the Expression field.
- Set the workflow timezone to the one you picked above: open the workflow, select the Workflow menu in the upper-right corner, select Settings, change Timezone and select Save (n8n common issues).
- Save and publish the workflow. A Schedule Trigger only runs in a published workflow.
Self-hosting? The instance default comes from the GENERIC_TIMEZONE environment variable. On n8n Cloud, the owner sets it in the Cloud console.
More n8n notes from the docs
- Variables: "While variables can be used in the scheduled trigger, their values only get evaluated when the workflow is published." (Schedule Trigger)
- Changing the schedule: "You can update the scheduled trigger interval at any time but it only gets updated when the workflow is published." (common issues)
- Several schedules: "You can add multiple Trigger Rules to run the node on different schedules." (Schedule Trigger)
- Checking an expression: n8n suggests checking it on crontab guru "after removing the seconds column". (common issues)
How this tool works
- Everything runs in your browser. Nothing you type is sent to a server, and there are no API keys or accounts.
- The parser accepts the five or six field form, numbers, month and day names (
JAN,MON),*, ranges (1-5), steps (*/15) and lists (1,15).7also means Sunday. It rejects?,L,W,#and shortcuts like@daily. - When both the day of month and the day of week are set, a day matches if either one matches. That is the classic cron rule, and the one crontab guru uses.
- Run times are worked out on the clock of the timezone you pick, using the browser's Intl.DateTimeFormat timezone data. Each run also shows in UTC.
- Daylight saving: a time that does not exist that day (clocks jump forward) is left out, and a time that happens twice (clocks go back) is listed once. n8n's docs do not say how the Schedule Trigger handles those hours, so check your executions around clock changes.
- The link in your address bar keeps the expression and timezone, so you can share a schedule with your team.
Templates that run on a schedule
These AY N8N templates start with a schedule. Open one, then swap in your own cron:
- Daily task reminders from Airtable to Slack
- Weekly SEO report from Google Search Console by email
- Daily currency exchange rate email
- Daily Gmail inbox archiving
- ISS location to AWS SQS every minute
Need scheduled workflows built and looked after for you? AY Automate builds and runs n8n automations.
n8n cron expression FAQ
What is an n8n cron expression?
It is the schedule you type into the Schedule Trigger node when you set Trigger Interval to Custom (Cron). It has five fields (minute, hour, day of month, month, day of week), or six with an optional seconds field in front. For example, 0 9 * * 1-5 runs at 9:00 AM Monday through Friday.
Does n8n cron support seconds?
Yes. n8n documents a sixth field for seconds and says setting it is optional. It goes first, so */10 * * * * * runs every 10 seconds. With five fields the node still runs.
Why does my n8n cron run at the wrong time?
The Schedule Trigger uses the workflow timezone if you set one, otherwise the instance timezone. n8n says the self-hosted default is America/New York, and n8n Cloud falls back to GMT if it cannot detect the owner timezone. Set the timezone in the workflow settings, or set GENERIC_TIMEZONE on a self-hosted instance.
Why does n8n say "Invalid cron expression"?
n8n shows it when it doesn't understand the expression. Its docs say to check the expression against the examples on the Schedule Trigger page, and to remove the seconds column and check what is left on crontab guru. This tool shows the same kind of error with the field that broke.
I changed the cron but n8n still runs the old schedule. Why?
n8n only picks up a new trigger interval when you publish. If you edit the schedule after publishing, unpublish the workflow and publish a new version.
Can I use variables in an n8n cron expression?
Yes, but n8n evaluates them when the workflow is published. Changing the variable later does not change the schedule until you unpublish and publish again.
Should I use cron or the Minutes interval?
From n8n 2.45.0, with the default durable scheduler, the Seconds and Minutes intervals run at even gaps measured from when you published the workflow, not on clock boundaries. Custom (Cron) keeps its timing. If you want runs at :00, :15, :30 and :45, use a cron like */15 * * * *.
Sources
All checked November 11, 2026.
- n8n docs: Schedule Trigger node (cron examples, seconds field, timezone, publishing, default timing from 2.45.0)
- n8n docs: Schedule Trigger common issues (invalid cron expression, wrong time, variables, changing the interval)
- n8n docs: workflow settings
- n8n docs: timezone and localization environment variables
- n8n docs: set your n8n Cloud timezone
- n8n docs: durable scheduler
- crontab guru, the checker n8n's docs point to
- MDN: Intl.DateTimeFormat
