Cron expression for every year

The cron expression for every year is 0 0 1 1 *. Runs once a year, at midnight on January 1st. Equivalent to the @yearly alias.

0minute
0hour
1day
1month
*weekday

In Plain English

What your cron expression actually means.

At 12:00 AM, on day 1 of the month, only in January

Upcoming Executions

Preview the next 50 times this schedule will trigger.

Calculating…

About 0 0 1 1 *

0 0 1 1 * — Runs once a year, at midnight on January 1st. Equivalent to the @yearly alias.

Cron reads the five fields as minute hour day month weekday. For this schedule that breaks down as:

FieldPositionMatches
0minute0
0hour0
1day of month1
1monthJanuary
*day of weekevery day of the week

New to cron? Read the syntax reference or the FAQ.

Use it in crontab or GitHub Actions

Both snippets are ready to paste. A crontab runs in the server's local timezone; GitHub Actions always evaluates schedules in UTC. For Kubernetes, AWS EventBridge, or Vercel, use the export menu in the calculator above.

crontab

# At 12:00 AM, on day 1 of the month, only in January
0 0 1 1 * /path/to/command

GitHub Actions workflow

# At 12:00 AM, on day 1 of the month, only in January
# Note: GitHub Actions always runs schedules in UTC.
on:
  schedule:
    - cron: '0 0 1 1 *'

Monthly & yearly schedules

Build a custom cron expression →