Cron Converter
Describe a schedule in words and get the cron expression.
About Cron Converter
Turn a short English phrase such as "every weekday at 9:30am" into a five-field cron expression. The expression and each field's meaning appear as you type.
How to use
- Type a schedule in words, or click one of the example phrases below the input.
- The cron expression appears on the right as you type, with Copy, and the five fields are listed as minute, hour, day of month, month and day of week.
- If the phrase is not recognised, the error says so; rephrase using one of the patterns below.
Phrases it understands
The parser matches a fixed set of English patterns (case-insensitive). It does not convert cron back into English.
| Phrase | Cron |
|---|---|
every 15 minutes, every 2 hours, every 3 days |
*/N in that field; N must fit the field (1–59 minutes, 1–23 hours, 1–31 days) |
every 6 months |
0 0 1 */6 * (the 1st of every sixth month) |
every 2 weeks |
0 0 */14 * *; cron has no fortnight, so the count restarts on the 1st of each month |
every weekday, weekdays, monday to friday |
day of week 1-5 |
every weekend, weekends |
day of week 0,6 |
every monday … every sunday, monday and wednesday, tuesday through thursday |
day of week 0–6, a list or a range |
every other day, alternate day |
day of month */2 |
on the 1st, on the 1st and 15th, on day 20 |
day of month |
at 9:30am, at 3 pm, at 17, at midnight, at noon |
sets minute and hour; combines with every other row |
at 9am and 5pm, at 9, 12 and 17 |
hour list 9,17; the minutes must match, since one expression holds one minute value |
between 9 am and 5 pm |
hour 9-17; minute 0 unless an every N minutes or :MM is given |
between 9 pm and 5 am |
wraps past midnight as 21-23,0-5 |
midnight, noon, mid-day |
0 0 * * *, 0 12 * * * |
every hour, hourly |
0 * * * * |
every day, daily |
0 0 * * * |
every week, weekly |
0 0 * * 0 |
every month, monthly |
0 0 1 * * |
every year, yearly, annually |
0 0 1 1 * |
every minute, minutely |
* * * * * |
in january … in december, in january and july |
month 1–12 or a list |
Clauses combine: every 2 hours on weekdays in january fills three fields. A day-level phrase with no "at" clause (every monday, every weekend, every 3 days) means midnight; add a time to move it. every N hours and hour windows fire on the hour. Times are checked (at 25:00 and at 13 pm are errors) and zero padding is dropped (at 09:05 → 5 9). Input is limited to 120 characters.
Example
every weekday at 9:30am → 30 9 * * 1-5
every 15 minutes → */15 * * * *
every monday at 3 pm → 0 15 * * 1
Privacy
Parsing runs in the page. No request is made and nothing is stored.
Frequently asked questions
- What do the five fields in a cron expression mean?
- In order: minute (0-59), hour (0-23), day of month (1-31), month (1-12) and day of week (0-6, Sunday is 0). An asterisk means every value, 1-5 is a range, 0,6 a list, and */15 every fifteenth value.
- What does */5 mean in cron?
- Every fifth value, starting from the field's minimum. In the minute field */5 runs at :00, :05, :10 and so on; in the hour field it runs at 0:00, 5:00, 10:00, 15:00 and 20:00.
- How do I write a cron job for every weekday at 9am?
- 0 9 * * 1-5. The minute is 0, the hour is 9, any day of month and month, and days 1 to 5 are Monday to Friday.
- Does cron use the server time zone?
- Yes. Classic POSIX cron evaluates expressions in the system's local time, so a job set for 9am runs at 9am in the server's zone and shifts with daylight saving. Set TZ in the crontab or use UTC on the server if that matters.