Azure Functions (NCRONTAB) Cron Expression Guide

Azure Functions uses NCRONTAB — a 6-field cron format with seconds prepended. The extra seconds field makes Azure expressions look different from standard 5-field cron but adds sub-minute precision.

Live Builder

Valid
MINMinute
0
HRHour
9
DOMDay of Month
*
MONMonth
*
DOWDay of Week
1-5

In plain English

At 09:00 AM, Monday through Friday

English → Cron

Try: "every 5 minutes", "every weekday at 9am", "every Monday at 3pm", "every month on the 1st"

Next 10 Executions

UTC
  1. 1Mon, May 18, 09:00 AM UTCin 3d
  2. 2Tue, May 19, 09:00 AM UTCin 4d
  3. 3Wed, May 20, 09:00 AM UTCin 5d
  4. 4Thu, May 21, 09:00 AM UTCin 6d
  5. 5Fri, May 22, 09:00 AM UTCin 7d
  6. 6Mon, May 25, 09:00 AM UTCin 10d
  7. 7Tue, May 26, 09:00 AM UTCin 11d
  8. 8Wed, May 27, 09:00 AM UTCin 12d
  9. 9Thu, May 28, 09:00 AM UTCin 13d
  10. 10Fri, May 29, 09:00 AM UTCin 14d
crontab entrybash
# Add to crontab with: crontab -e
0 9 * * 1-5    /path/to/your/script.sh

Syntax Overview

Field order

SEC

Second

MIN

Minute

HR

Hour

DOM

Day of Month

MON

Month

DOW

Day of Week

0 0 9 * * 1-5

Example: At 09:00 AM, Monday through Friday

Azure Functions uses a 6-field format with seconds as the first field.

Common Expressions

0 0 9 * * 1-5Every weekday at 9am (seconds=0)
0 */5 * * * *Every 5 minutes
0 0 0 * * *Every day at midnight
0 30 8 * * 1Every Monday at 8:30am
0 0 */6 * * *Every 6 hours
0 0 0 1 * *1st of every month at midnight

Frequently Asked Questions

Why does Azure Functions have 6 fields instead of 5?
Azure Functions uses NCRONTAB, which prepends a seconds field. The format is: {second} {minute} {hour} {day} {month} {day-of-week}. Standard cron starts at minute; Azure starts at second.
Can I run an Azure Function every 30 seconds?
Yes — "0,30 * * * * *" runs at the 0-second and 30-second mark of every minute. The seconds field enables sub-minute precision that standard 5-field cron cannot express.
Does Azure Functions timer trigger use UTC?
By default, yes — Azure Functions runs in UTC. You can override this by setting the WEBSITE_TIME_ZONE application setting for Windows plans, or TZ for Linux. The cron expression is evaluated in the configured timezone.
What is the format for Azure Functions function.json timer binding?
The timer binding in function.json uses the "schedule" property with an NCRONTAB expression: {"type": "timerTrigger", "direction": "in", "schedule": "0 */5 * * * *"}. The builder above generates this JSON automatically.
Why is my Azure timer function running more often than expected?
Check whether the FUNCTIONS_WORKER_RUNTIME is set correctly and whether "runOnStartup" is true in your binding — if true, the function fires immediately when the host starts, in addition to the scheduled runs.