Nouplo

Cron once a month

It is 0 0 1 * * — the 1st, at midnight.

cron
0 0 1 * *
Output
0 0 1 * *

  ┌───────── minute (0–59)
  │ ┌─────── hour (0–23)
  │ │ ┌───── day of month (1–31)
  │ │ │ ┌─── month (1–12)
  │ │ │ │ ┌─ day of week (0–6, Sunday is 0 — and 7 on most systems)
  0 0 1 * *

  It runs at:
    minute        0
    hour          0
    day of month  1
    month         every
    day of week   every

  Next five runs:
    2026-09-30 16:00
    2026-10-31 16:00
    2026-11-30 16:00
    2026-12-31 16:00
    2027-01-31 16:00

Your files stay on your device

This tool runs entirely in your browser. What you paste is processed on your device and is never sent to a server, so it is safe to use with tokens, keys and unpublished text.

How it works

  1. The expression is already there: 0 0 1 * *. The five fields under it are minute, hour, day of month, month and day of week, in that order.
  2. Copy it into your crontab, your CI schedule or your cloud scheduler. The same five fields mean the same thing in all of them.
  3. To change it, set the menu back to none and describe the schedule in your own words — "every 2 hours", "at 5pm on weekdays" — and it is built and read back to you.
  4. Check the reading, not the expression. What the page shows underneath comes from parsing what was built, so it is what a machine would do with it rather than what we meant.

Frequently asked questions

Can I use the last day of the month?
Not with a plain day-of-month field. Writing 31 skips the months that do not have one, so a monthly job would run seven times a year and the gap would be easy to miss. The 1st is the only day every month has. If you truly need month-end, schedule it on the 1st and have the job look backwards.
Does it work in GitHub Actions, Kubernetes and the cloud schedulers?
The five fields do. What differs is everything around them: some accept names like @daily, Kubernetes CronJobs take the same five, and GitHub Actions runs scheduled workflows late under load. Paste the expression, but do not assume the promptness.
Can I read an expression I already have?
Yes — the cron parser page does that. Paste an expression and it says in words when it runs, which is the check worth doing before you trust one somebody else wrote.
Is anything sent anywhere?
No. The expression is built and read back in your browser, and nothing is uploaded. It is free, with no account.

Made for a specific use

Related tools