time
Cron expression explainer
Translate a crontab line into English and see the next 10 run times.
Runs 100% in your browser. Nothing you paste is uploaded, stored, or sent to a server.
Or build one
Meaning
Next 10 run times
How to use
- Paste a standard 5-field expression (minute, hour, day of month, month, day of week), or build one with the generator fields.
- Read the plain-English description. DeskKit supports lists, ranges, steps, and the usual JAN–DEC / SUN–SAT names.
- Choose a time zone to preview the next 10 matching instants. Times are calculated on your device from the clock you pick.
- Copy the expression back into crontab, GitHub Actions, systemd timers, or a job scheduler.
Cron expressions are short, but they are easy to misread. A single off-by-one in the day-of-week field is the difference between a weekday deploy and a Sunday-morning page. This tool turns a 5-field Unix crontab line into a sentence you can check with a teammate, then lists the next ten times it would fire.
Everything happens in your browser. The expression never leaves the page, which matters if you are debugging a production schedule that hints at internal job names. Use it when you inherit a crontab, when you write a GitHub Actions schedule, or when you need to confirm that “every 5 minutes” is really */5 and not 5 * * * *.
Examples
Every 5 minutes
*/5 * * * * — the most common polling schedule. Minute is a step field; the other four fields are wildcards, so the job runs all day.
Weekdays at 09:00
0 9 * * 1-5 — minute 0, hour 9, any calendar day, any month, Monday through Friday. In standard cron, a restricted day-of-week is enough; you do not also have to list dates.
First of the month at midnight
0 0 1 * * — useful for monthly invoices or report rollups. Remember that cron has no “last day of month” token in the classic 5-field dialect.
How the five fields work
A classic crontab has five fields: minute (0–59), hour (0–23), day of month (1–31), month (1–12 or JAN–DEC), and day of week (0–7 or SUN–SAT, where both 0 and 7 mean Sunday). Each field can be a single number, a comma-separated list, a range (1-5), a step (*/15 or 0-30/5), or a star for “any”.
When both day-of-month and day-of-week are restricted (not star), Unix cron uses OR: the job runs if either field matches. That surprises people coming from systems that AND the two fields. DeskKit follows the Unix rule so the next-run list matches what Vixie cron and most Linux boxes actually do.
GitHub Actions, GCP Cloud Scheduler, and many CI products speak the same 5-field language. Quartz and some Java schedulers add seconds or years — those extra fields are not parsed here on purpose, so you do not get a false sense of compatibility.
FAQ
Does this support the sixth “seconds” field?
No. The explainer targets the 5-field Unix dialect used by crontab, GitHub Actions, and most Linux hosts. If you have a 6- or 7-field Quartz expression, drop the seconds/year fields before pasting.
Are next run times in UTC?
UTC is the default, because most servers store cron in UTC. Change the time zone dropdown to preview wall-clock times in New York, London, Berlin, or any IANA zone your browser knows.
Why do day-of-month and day-of-week combine with OR?
That is the historical Vixie cron rule. An expression such as 0 0 1,15 * 5 runs at midnight on the 1st, the 15th, and every Friday. DeskKit mirrors that behavior so the preview matches production.
Is my expression uploaded?
No. Parsing, English descriptions, and next-run math all run in JavaScript on your machine. There is no API call.