Build a valid NCRONTAB expression for Azure Functions Timer Triggers.
Create an Azure cron schedule without calculating every field by hand. This generator builds an explicit six-field NCRONTAB expression for an Azure Functions Timer Trigger, explains when it runs, and provides configuration or code examples you can copy into your project.
This page is intended for developers searching for an Azure cron expression, Azure cron schedule, or a way to run a recurring cron job in Azure Functions. It is not a generator for Azure DevOps Pipeline schedules, which use a different five-field YAML cron format.
The generator uses the unambiguous field order {second} {minute} {hour} {day} {month} {day-of-week}. Microsoft documents both five- and six-field NCRONTAB expressions for Timer Triggers; using all six fields makes the seconds value explicit.
| Position | Field | Typical values | Meaning |
|---|---|---|---|
| 1 | Second | 0-59 | Second within the minute |
| 2 | Minute | 0-59 | Minute within the hour |
| 3 | Hour | 0-23 | Hour in 24-hour time |
| 4 | Day | 1-31 | Day of the month |
| 5 | Month | 1-12 or names | Month of the year |
| 6 | Day of week | 0-6 or names | Sunday through Saturday |
Use * for every value, a comma for a list such as 1,3,5, a hyphen for a range such as 1-5, and a slash for a step such as */15.
| Schedule | Azure NCRONTAB expression |
|---|---|
| Every 5 minutes | 0 */5 * * * * |
| At the start of every hour | 0 0 * * * * |
| Every 2 hours | 0 0 */2 * * * |
| Daily at 9:30 AM | 0 30 9 * * * |
| Weekdays at 9:30 AM | 0 30 9 * * 1-5 |
| First day of each month at midnight | 0 0 0 1 * * |
To run a reporting function Monday through Friday at 9:30 AM, use:
0 30 9 * * 1-5
The first 0 means second zero, 30 is the minute, 9 is the hour, the two asterisks allow every date and month, and 1-5 limits execution to Monday through Friday. Azure evaluates this at 9:30 AM UTC by default, unless the Function App uses a supported time-zone configuration.
For a C# isolated-worker function, the schedule can be placed directly in the trigger attribute:
[Function("WeekdayReport")]
public void Run([TimerTrigger("0 30 9 * * 1-5")] TimerInfo timer)
{
// Generate the report.
}
Azure Functions Timer Trigger cron schedules use UTC by default. If a job must follow local civil time and daylight-saving changes, Microsoft supports the WEBSITE_TIME_ZONE app setting on Windows plans and on Linux Premium or Dedicated plans. It is not supported for Linux Flex Consumption or Linux Consumption plans, so use a UTC schedule there and account for seasonal clock changes in your design.
5 in the hour field means 5:00 AM, while */5 means an interval of five hours.0 0 9 * * * is 9:00 AM UTC unless a supported time zone is configured.%ScheduleAppSetting%.0 */5 * * * *. It runs at second zero every five minutes.0 0 * * * * to run at the top of every hour.WEBSITE_TIME_ZONE for another time zone.%ScheduleAppSetting%.