Read cron
Paste a cron expression and we tell you what it means and when it will actually run. The second answer is what exposes mistakes: a “31 February” never fires.
Your text stays on your device: nothing is uploaded
Result
Paste something on the left: the result appears as you type.
How it works
The five fields are minute, hour, day of month, month and day of week. The rule that surprises nearly everyone: when neither day of month nor day of week starts with an asterisk, cron combines them with an “or”. “0 0 13 * 5” does not mean “Friday the 13th”, it means every Friday and also every 13th — which is why you see the next runs here, not just a translation. Times are UTC, like almost every scheduler on a server.
Frequently asked questions
- Does it accept six-field expressions with seconds?
- No: it reads the classic five-field format, and with six or seven fields it reports the wrong count. If you come from Quartz or Spring, drop the first field (seconds) and any final year field. Check any weekdays written as numbers: in Quartz 1 is Sunday, here it is Monday. Names such as MON-FRI remove the doubt.
- Can I use L, W, # or shortcuts like @daily?
- The shortcuts, yes: @yearly, @annually, @monthly, @weekly, @daily, @midnight and @hourly. The question mark too, which counts as an asterisk. L, W and # no: they are extensions of some schedulers, and here they are reported as a part that cannot be interpreted. @reboot has no dates, so there is nothing to work out.
- How do I read the runs in my own time?
- The list is worked out as if the scheduler ran on UTC, the usual case on servers. If yours uses another time zone, the hours in the expression are that zone’s hours: “0 9 * * *” runs at 9 on its clock. To turn a date from the list into your own time, paste it into “Convert timestamp”.
- Is Sunday 0 or 7?
- Both: 0 and 7 mean Sunday, 1 means Monday, inside a range too: “5-7” is Friday to Sunday and “0-7” is the whole week. You can also write the short English names, sun to sat and jan to dec, in upper or lower case. A range cannot wrap past the end of the week, so “fri-mon” is not read: list the days instead, “fri,sat,sun,mon”.
- Why does “0 0 */2 * 1” run only on Mondays and not every other day?
- Because cron chooses between “and” and “or” by looking at the first character of the two day fields. If one of them starts with an asterisk, like */2, both must hold: here, Mondays that fall on an odd day. If neither starts with an asterisk, as in “0 0 1-15 * 1”, either is enough: the 1st to the 15th of every month, plus every Monday. Under the result you can see which of the two rules applies to your expression.
What you paste is never uploaded. Anywhere.
The text you type stays in your browser’s memory: no request goes out while you type. You can paste something confidential.
- Processed locallyEverything happens on this page.
- Nothing to upload, nothing to wait forNothing to upload, no waiting.
- Nothing to deleteWe keep nothing: nothing reaches us.