Cron expression builder

Write the expression or build it field by field, read it back as a sentence, and check it against the next eight times it will actually run. The run times are the point: two expressions can read almost identically and fire on completely different days.

  • SyntaxStandard five-field cron
  • ShowsNext 8 runs, local or UTC
  • Presets8 common schedules

The expression

Five fields, or an @shorthand such as @daily.

Every 15 minutes between 09:00 and 17:59 on Monday, Tuesday, Wednesday, Thursday and Friday.

Next runs

Fires about every 15 minutes. Check the dates below against what you meant.

  1. Mon, 19 Oct 2026, 09:00next
  2. Mon, 19 Oct 2026, 09:15+1
  3. Mon, 19 Oct 2026, 09:30+2
  4. Mon, 19 Oct 2026, 09:45+3
  5. Mon, 19 Oct 2026, 10:00+4
  6. Mon, 19 Oct 2026, 10:15+5
  7. Mon, 19 Oct 2026, 10:30+6
  8. Mon, 19 Oct 2026, 10:45+7
Timezone
Local
Asia/Damascus
Frequency
15 minutes
between runs

The day-of-month / day-of-week trap

When both fields are restricted, cron fires when EITHER matches, not both. So 0 0 1 * 1 runs on the first of the month AND on every Monday - which is almost never what the person writing it had in mind.

Which timezone does a server use

A cron daemon fires in the machine's local timezone; most cloud schedulers default to UTC. That difference moves a nightly job by hours, and moves it again when daylight saving starts. Check both columns here before shipping a schedule.

Five fields, not six

Quartz, Spring and some cloud schedulers take a leading seconds field and extras such as L, W and #. Standard cron does not. This page rejects them rather than guessing, because a field a scheduler silently ignores is a schedule that quietly runs at the wrong time.

Frequently asked questions

What does 0 0 * * 0 mean in cron?
Midnight every Sunday. The five fields are minute, hour, day of month, month and day of week, so 0 0 means minute zero of hour zero and the final 0 means Sunday. Paste it above and the next eight dates confirm it.
Why does my cron job run on the wrong days?
Almost always the day-of-month and day-of-week trap: when both fields are restricted, cron fires when EITHER matches, not both. So 0 0 1 * 1 runs on the first of the month and on every Monday. The run-time list makes that visible immediately.
Does cron use UTC or local time?
A cron daemon fires in the machine's local timezone; most cloud schedulers default to UTC. That difference moves a nightly job by hours, and moves it again when daylight saving starts, which is why this page shows both.
Why is my six-field cron expression rejected?
Six fields means a leading seconds field, which Quartz and Spring accept and standard cron does not. The same goes for L, W, # and ?. This page refuses them rather than ignoring a field, because a schedule that quietly drops one runs at the wrong time.