Cron expression for every month

The cron expression for every month is 0 0 1 * *. Runs at midnight on the 1st of every month. The standard choice for monthly billing runs and reports.

0minute
0hour
1day
*month
*weekday

In Plain English

What your cron expression actually means.

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

Upcoming Executions

Preview the next 50 times this schedule will trigger.

Calculating…

About 0 0 1 * *

0 0 1 * * — Runs at midnight on the 1st of every month. The standard choice for monthly billing runs and reports.

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

FieldPositionMatches
0minute0
0hour0
1day of month1
*monthevery month
*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
0 0 1 * * /path/to/command

GitHub Actions workflow

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

Monthly & yearly schedules

Build a custom cron expression →