Once a month
0 0 1 * * runs at midnight on the 1st of every month. Change the day-of-month field for other dates.
Caveat
Not every month has a 31st. Prefer the 1st or use Quartz/last-day features when you need end-of-month reliably.
Cron expression to run every month: 0 0 1 * *. First-of-month schedules with next-run preview.
Paste a cron → plain English + next runs. Everything stays in your browser.
5-field: min hour dom month dow
Plain English
At 00:00, on day 1 of the month
0 0 1 * *0 0 1 * * runs at midnight on the 1st of every month. Change the day-of-month field for other dates.
Not every month has a 31st. Prefer the 1st or use Quartz/last-day features when you need end-of-month reliably.