Azure Functions

Azure Functions NCRONTAB Timer Builder

Build and validate TimerTrigger expressions for Azure Functions. Azure uses NCRONTAB — a 6-field format with seconds first: sec min hr dom mon dow. No @-aliases. No ?.

Every 5 minutes

Valid

Next 10 executions

  1. 1Thu, Apr 9, 2026, 12:55 AM
  2. 2Thu, Apr 9, 2026, 1:00 AM
  3. 3Thu, Apr 9, 2026, 1:05 AM
  4. 4Thu, Apr 9, 2026, 1:10 AM
  5. 5Thu, Apr 9, 2026, 1:15 AM
  6. 6Thu, Apr 9, 2026, 1:20 AM
  7. 7Thu, Apr 9, 2026, 1:25 AM
  8. 8Thu, Apr 9, 2026, 1:30 AM
  9. 9Thu, Apr 9, 2026, 1:35 AM
  10. 10Thu, Apr 9, 2026, 1:40 AM
Use in Azure Functions
[Function("MyTimer")]
public void Run([TimerTrigger("0 */5 * * * *")] TimerInfo timer) { }

NCRONTAB vs Standard Cron

FormatFieldsOrderExample: weekdays 9am
Standard Unix5min hr dom mon dow0 9 * * 1-5
Azure NCRONTAB6sec min hr dom mon dow0 0 9 * * 1-5
AWS EventBridge6min hr dom mon dow yr0 9 ? * MON-FRI *

NCRONTAB Field Reference

FieldValuesSpecial chars
Second0–59* / - ,
Minute0–59* / - ,
Hour0–23* / - ,
Day of month1–31* / - ,
Month1–12* / - ,
Day of week0–6 (0 = Sunday)* / - ,

Note: Azure does not support ?, L, W, or # modifiers. Only * - , / are supported.

Common Patterns

ExpressionMeaning
0 */5 * * * *Every 5 minutes
0 0 * * * *Every hour at :00:00
0 0 9 * * 1-5Weekdays at 9:00 AM UTC
0 0 2 * * *Every day at 2:00 AM UTC
0 0 0 1 * *1st of every month at midnight
*/30 * * * * *Every 30 seconds (sub-minute — Azure only)
*/10 * * * * *Every 10 seconds

Azure Functions Timer Trigger FAQ

How is Azure NCRONTAB different from standard Unix cron?
Azure NCRONTAB adds a seconds field at position 1, making it a 6-field format: {second} {minute} {hour} {day} {month} {day-of-week}. Standard Unix cron has 5 fields starting with minute. This means Azure can schedule sub-minute triggers — for example, */30 * * * * * fires every 30 seconds. Azure also does not support @-aliases like @daily.
What's the difference between Azure NCRONTAB and AWS EventBridge cron?
Two key differences: (1) Field order — Azure adds a seconds field at the start (sec min hr dom mon dow), while AWS adds a year field at the end (min hr dom mon dow yr). (2) The ? wildcard — AWS requires exactly one of dom/dow to be ?; Azure does not support ? at all — use * instead. Additionally, Azure uses 0=Sunday day-of-week numbering (same as Unix), while AWS uses 1=Sunday.
Can I use @daily or other @-aliases in an Azure Function timer trigger?
No. Azure NCRONTAB does not support @-aliases. You must use a full 6-field expression. The equivalent of @daily in Azure is 0 0 0 * * * (fire at second 0, minute 0, hour 0, every day).
Why is my Azure Function firing at the wrong time?
Azure Functions use UTC by default. To change the timezone, set the WEBSITE_TIME_ZONE application setting in your Function App configuration. Use a standard IANA timezone name like America/New_York or Africa/Lagos. Note: on the Consumption plan, the time zone setting may be delayed by up to a minute during cold starts.
How do I run an Azure Function every 5 seconds?
Use */5 * * * * *. The seconds field (position 1) makes sub-minute scheduling possible in Azure — this is unique to NCRONTAB and not supported on any other major platform. Every 30 seconds: */30 * * * * *. Every 10 seconds: */10 * * * * *.