Cron Expression Generator

Build and validate cron schedules for CI/CD pipelines, test runs, and monitoring jobs.

Runs 100% client-side
Copy output
On this page4 sections

Expression

0 9 * * 1-5

Runs at: at the top of the hour, past hour 9, on Mon–Fri

Next 5 runs
  • 2026-06-24 09:00Wed
  • 2026-06-25 09:00Thu
  • 2026-06-26 09:00Fri
  • 2026-06-29 09:00Mon
  • 2026-06-30 09:00Tue

HOW TO USE

  1. 01Use the Visual Builder for guided field selection, or Manual Input to paste an existing expression.
  2. 02Standard 5-field cron — minute (0–59), hour (0–23), day of month (1–31), month (1–12), day of week (0–6, Sun=0).
  3. 03Use * for any value, */N for every N, A-B for ranges, A,B for lists.
  4. 04Click a preset to start from a common schedule, then tweak.

WHEN TO USE

Use this when writing, reading, or testing cron expressions for scheduled jobs — CI pipelines, database backups, report generation, or cleanup tasks. Cron syntax is easy to misread: */5 means every 5 minutes, not at minute 5; day-of-week and day-of-month interact in unintuitive ways. Use the visual builder to author expressions you're confident in, and the next-runs preview to confirm the schedule fires when you expect before committing it to a pipeline config.

WHAT BUGS THIS FINDS

  • */N interpreted as 'at N' not 'every N'

    A developer writes 5 * * * * intending 'every 5 minutes' but it means 'at minute 5 of every hour' — the next-runs list shows the actual firing times, surfacing the misinterpretation immediately.

  • Day-of-month and day-of-week OR interaction

    When both day-of-month and day-of-week are set (not *), many cron implementations fire if EITHER condition is true — the next-runs preview confirms whether the schedule behaves as OR or AND for your environment.

  • Off-by-one in weekday range

    A MON-FRI range expressed as 1-5 fires on the wrong days if the scheduler uses Sun=0 rather than Mon=1 — the preview confirms the firing days match the intended weekday window.

  • Hour 24 invalid in standard cron

    A schedule intended for end-of-day uses hour 24, which is invalid in standard cron — the builder validates the field and normalises to midnight (0), preventing a silent schedule drift.

QA USE CASES

01

Scheduled job timing verification

Build the cron expression for a nightly or weekly job and confirm the next-run times match the intended schedule before committing it to a CI pipeline or infrastructure config.

02

Cron expression debugging

Paste an expression from a failing scheduled job, review the next-run preview, and identify whether it fires at an unexpected time or not at all.

03

Schedule edge case testing

Generate expressions for end-of-month (28–31 day boundary) and leap-year February schedules to confirm the scheduler handles calendar edge cases correctly.