Cron Expression Explainer
Translate cron expressions into plain English and see the next scheduled run times.
How to Use
- Type or paste a cron expression (e.g. "0 9 * * 1").
- The plain-English description updates instantly.
- See the next 5 scheduled run times displayed below.
- Use the preset buttons for common schedules like "every day at midnight" or "every hour".
When to Use This
- Reading a schedule you inherited in a crontab or a Kubernetes CronJob, where something like */7 in the hour field is not obvious.
- Checking before a deploy that a job you just edited will next fire when you believe it will, rather than twelve hours later.
- Spotting that a schedule meant for weekdays was written with the wrong day numbers, by reading the next five dates it produces.
- Converting a vague requirement like every quarter hour into an expression, by trying a preset and adjusting one field at a time.
Frequently Asked Questions
About This Tool
A cron expression is five fields read left to right: minute, hour, day of month, month and day of week. Its sharpest edge is the relationship between the two day fields. When both are restricted rather than left as a star, traditional cron runs the job when either matches rather than when both do, so 0 0 13 * 5 fires on the thirteenth and on every Friday. The expression carries no timezone either; the daemon's own zone decides, which is why a schedule can shift twice a year.
This parser handles stars, question marks, ranges, comma lists and step values, and treats a six-field expression as a Quartz-style one by discarding the leading seconds field. Next run times are found by stepping forward one minute at a time from the next minute and testing each candidate, searching up to a year ahead, then displayed in your browser's local timezone.
Notes & Limits
- A field mixing a list with a range, such as 1,3-5, is misread, because the dash is tested before the comma and only part of the field survives.
- The Quartz extensions L, W and # for last day, nearest weekday and nth weekday of the month are not parsed at all.
- Run times are computed in your browser's timezone, which is rarely the server's, and the search stops a year ahead, so a rare schedule returns fewer than five.
- Seconds in a six-field expression are discarded rather than honored, so both the description and the run times describe the minute only.