sitekits.dev
press ⌘K to switch tools
TIME

Crontab Expression Editor

Parse crontab expressions and preview next scheduled runs.

local
§01 ABOUT THIS TOOL

Overview

Most cron tools tell you whether an expression parses. The question people actually have is when will this fire, and whether it fires more often than they intended.

This editor reads each of the five fields back in words, then shows the next seven days as a heatmap of firings per hour. A job you meant to run nightly that lights up every hour is obvious at a glance — long before it fills your logs.

How to use

  1. Type an expression, or start from one of the presets.
  2. Read the five field cards — each shows the raw token, what it means, and how many values it matches.
  3. Check the heatmap. Each row is a day, each column an hour; brighter cells mean more firings in that hour.
  4. Read the exact next run times beside it, with how far away each one is. Click any row to copy the ISO 8601 timestamp.
  5. Switch the header between your zone and UTC to read the same schedule on the clock your server actually uses.

Examples

  • */15 9-17 * * 1-5 — every 15 minutes during office hours on weekdays. The heatmap shows a solid block Monday to Friday and empty weekends.
  • 0 3 * * * — 03:00 nightly. One lit cell per row.
  • 0 0 13 * 5 — the trap: this fires on the 13th and every Friday, not only on Friday the 13th. The tool warns when both day fields are restricted.

Notes

Fields are minute, hour, day-of-month, month, day-of-week. Day-of-week accepts 0–7 where both 0 and 7 mean Sunday.

The preview searches forward up to two years. An expression that never fires in that window — 30 February, for instance — reports that rather than showing an empty list without explanation.

FAQ
Which timezone are the times in?
Whichever you pick. Cron itself has no timezone — it fires on the local clock of the host that runs it, so the header lets you switch between your own zone and UTC and read the whole schedule in that clock. If your server runs in UTC and you do not, that toggle is the difference.
Why does the tool warn about day-of-month and day-of-week?
Because POSIX cron does something surprising there: when both fields are restricted, it fires when *either* matches, not both. So 0 0 13 * 5 runs on the 13th and on every Friday. When one of them is *, the normal AND behaviour applies.
Does it support @daily and named days?
Yes — @yearly, @annually, @monthly, @weekly, @daily, @midnight and @hourly are expanded, and names like mon-fri or jan work. @reboot is rejected on purpose: it fires at start-up, so there is no schedule to preview.
What about six-field expressions?
Those are the seconds-precision dialect used by Quartz and Spring, not POSIX cron. The tool says so rather than silently misreading the fields.