Chris Collins

Tools · time

Cron expression tool

Explain, validate, and build cron expressions — Unix and Quartz/Spring syntax with L, W, # and macros — and see the next run times in any time zone.

Added · updated 28 October 2026

Works with

How to use it

Type an expression and read it back in plain English, with each field labelled. Errors name the field at fault.

  • Unix cron has five fields: minute, hour, day of month, month, day of week (0–7, Sunday is 0 or 7). When both day fields are set, the job runs when either matches.

  • Quartz/Spring cron has six or seven: second first, an optional year last, day of week 1–7 (Sunday is 1), and ? in one of the day fields. It adds L (last day), L-3, 15W (nearest weekday), LW, 6L (last Friday), and TUE#2 (second Tuesday).

  • Macros @yearly, @monthly, @weekly, @daily, and @hourly are expanded.

Next runs lists upcoming times in any IANA time zone. Times that do not exist because of a daylight-saving change are skipped; repeated times run once. The Builder writes an expression field by field — every, every N, specific values, a range, or custom — and Presets has common schedules.

On a Mac, Send to launchd opens a Unix schedule in launchd jobs as a StartCalendarInterval, with what launchd can’t express spelled out.

Sharing

Share link copies a URL that opens this tool exactly as you have it. Hand-written links work too: ?expr=0 9 * * 1-5&zone=Europe/London&mode=unix|quartz&count=25. For example ?expr=0%209%20*%20*%201-5&zone=Europe%2FLondon.

Runs entirely in your browser; nothing you type leaves this page.