crontool
Paste a schedule, read it in English, see the next runs.

Run a Cron Job Twice a Month

To run a job twice a month, list two days in the day-of-month field. For example 0 9 1,15 * * runs at 9:00 AM on the 1st and the 15th of every month. Change the numbers to pick different dates.

The expression

0 9 1,15 * * runs at 09:00 on the 1st and 15th of every month. The comma list in the third field (day-of-month) picks the two dates.

Choose other dates

For the 10th and 25th use 0 9 10,25 * *. Day-of-month accepts 1–31; avoid 29–31 if you need it to fire in every month (February).

Change the time

The first two fields are minute and hour, so 30 18 1,15 * * runs at 6:30 PM on those two days.

FAQ

What is the cron expression to run twice a month?

List two dates in the day-of-month field, e.g. 0 9 1,15 * * runs at 9 AM on the 1st and 15th.

How do I pick different dates?

Change the comma list in the third field. The 10th and 25th is 0 9 10,25 * *.

Why might a twice-monthly job skip a month?

If you pick 29, 30, or 31, those dates don't exist in every month (February), so that run is skipped. Use 1-28 to fire every month.