Five asterisks, and nobody remembers what the fourth one does. Paste the line and see what it means, what each field controls, and the next five runs in your own timezone.
Translate my expressionThe syntax is not the hard part. Two defaults are. First: five fields and six fields are different languages. Standard crontab is minute, hour, day of month, month, day of week. Quartz and Spring put a seconds field in front. One field off and the job either never fires or fires 1440 times a day.
Second: when day-of-month and day-of-week are both set, cron uses OR, not AND. 0 0 1 * 1 does not mean the 1st if it happens to be a Monday. It means the 1st, or any Monday. People write that expecting the first Monday of the month, and get four extra runs.
This page does three things: explains each field in plain language, computes the next five real run times, and tells you where the traps are. If the schedule can never fire, like February 30th, it says so instead of pretending.
Nothing is stored: the expression is parsed in your browser only. No upload, no log, gone when you refresh.
Common schedules, tap to fill
In plain English
| Field | Raw | Means |
|---|
Next 5 runs
Cheat sheet (tap a row to fill)
| */5 * * * * | Every 5 minutes |
| 0 * * * * | Top of every hour |
| 30 2 * * * | Daily at 2:30 AM |
| 0 9 * * 1-5 | Weekdays at 9:00 AM |
| 0 9 * * 1 | Mondays at 9:00 AM |
| 0 0 1 * * | 1st of the month, midnight |
| 0 3 * * 6 | Saturdays at 3:00 AM |
| 0 0 1 1 * | January 1st, midnight |
Yes. Quartz and Spring prepend a seconds field, so the page drops it and evaluates the remaining five, with a note to confirm which platform you target. Going the other way, pasting six fields into a Linux crontab is a syntax error.
This page uses your device timezone, and most servers run UTC. Every run row shows the UTC time too, so compare that against the log. An eight-hour gap is timezone, not a broken expression.
Standard cron cannot express it. 0 9 1-7 * 1 reads as the 1st through the 7th, or any Monday, which is wider than you want. Check the date inside the script, or switch to Quartz # syntax.
No. Everything runs in your browser, no request is sent, nothing is logged, and a refresh clears it. Cron lines often carry paths and account names, so nothing leaves the tab.