Skip to content

Free tool

Cron expression generator and validator

Type a cron expression or pick a preset and this generator checks it, explains each of the five fields and shows the next five run times in UTC. It reads standard syntax (wildcards, lists, ranges and steps), month and day names, 7 for Sunday and shortcuts such as @daily, and applies cron’s OR rule for the two day fields.

Generate your cron expression

minute hour day-of-month month day-of-week

Parsed as

minute 0, hour 9, every day of the month, every month, day-of-week 1-5

Next 5 run times (UTC)

Computing…

What do the five cron fields mean?

A cron expression is five fields separated by spaces, read left to right: minute, hour, day of the month, month and day of the week. The job runs at every moment that matches all of them, so 0 9 * * 1-5 runs at 09:00 Monday to Friday.

The five cron fields and their values (POSIX crontab and Linux crontab(5))
FieldValuesNotes
1. Minute0-59
2. Hour0-2324-hour clock
3. Day of the month1-31A day that a month lacks (30 February) never runs
4. Month1-12Linux also accepts jan-dec
5. Day of the week0-6, 0 is SundayLinux also accepts 7 for Sunday and sun-sat
Illustration: a hand turns the first of five dials in a row, linked to a clock, a calendar page and a weekday strip above, while a gear drives a server panel showing a green check.
Five fields, one schedule.

Which special characters can a cron expression use?

Cron syntax and where it is defined (read 6 November 2026)
WriteMeansDefined by
*Every value in the fieldPOSIX and Linux
1,15A list of valuesPOSIX and Linux
1-5An inclusive rangePOSIX and Linux
*/15, 0-23/2Every nth value, across the field or a rangeLinux (not POSIX)
mon-fri, janThree-letter day and month names, any caseLinux (not POSIX)
@daily, @weeklyShortcuts for common schedules (@daily is 0 0 * * *)Linux (not POSIX)

POSIX defines only the asterisk, lists and ranges of numbers. Steps, names and the @ shortcuts come from Linux cron and most schedulers built on it. The builder reads all of them, plus 7 for Sunday, and refuses @reboot, which runs when the machine starts and has no clock time.

Why do the two day fields match with OR?

Because POSIX says so. When either the day of the month or the day of the week is an asterisk, only the other one counts. When both are restricted, a day matching either one runs the job, not only days matching both. So 30 4 1,15 * 5 runs at 04:30 on the 1st and 15th of every month and also every Friday. If you meant only Fridays that fall on those dates, cron cannot say it in one line; run on the dates and check the weekday in the job.

How do you use the cron builder?

  1. Type or pick a cron expression. Enter your own 5-field expression, or start from one of the common presets.
  2. Check the parsed summary. Read the field-by-field summary to confirm the expression means what you intended.
  3. Review the next 5 run times. See the real, computed next run times in UTC, based on the current moment.
  4. Copy the expression. Use the validated expression directly wherever your scheduler or cron job needs it.

What does it look like in practice?

"0 9 * * 1-5" — weekdays at 9am

Parses as minute 0, hour 9, every day of the month, every month, day-of-week 1 through 5 (Monday to Friday) — the next 5 run times skip both weekend days automatically.

The day-of-month / day-of-week OR rule

"0 0 1 * 1" (midnight on the 1st, OR every Monday) matches EITHER field once both are restricted — a real cron behavior this tool implements correctly rather than the more intuitive-seeming AND.

Which time zone does cron use?

It depends on what runs it. A server’s cron uses the machine’s local time unless the crontab sets CRON_TZ. GitHub Actions runs schedules in UTC unless you give it an IANA time zone, allows nothing more often than every 5 minutes, and warns that runs can be late at busy times, the start of every hour included. This builder shows UTC; the timestamp converter and the time zone planner turn it into local time.

Diagram: read the minute and hour, then the day fields, apply the OR rule if both day fields are set, then convert to the time zone that runs the job to get the next runs.
Reading a cron expression in four steps.

Do you need cron to schedule social media posts?

No. Cron is for scripts on a server; a post needs a date, a time zone and an account. SkedCast schedules posts to every network from a calendar, with bulk scheduling for a month at a time, and the posting schedule generator plans the weekly rhythm. Developers who want code in the loop can use the SkedCast API.

Cron expression generator: FAQ

What does each of the 5 fields mean?
In order: minute (0-59), hour (0-23), day of the month (1-31), month (1-12) and day of the week (0-6, with 0 for Sunday; Linux also accepts 7).
Why do both day fields sometimes act like "OR" instead of "AND"?
Because POSIX says so: when both the day-of-month and day-of-week fields are restricted, a day matching either one runs the job. "30 4 1,15 * 5" runs on the 1st and 15th and every Friday.
Does this support seconds as a 6th field?
No — this builds the standard 5-field cron format (minute through day-of-week), the format most schedulers and crontab files use.
What time zone are the run times shown in?
UTC. A server’s cron uses the machine’s local time unless CRON_TZ sets another zone, and GitHub Actions uses UTC unless you give it an IANA time zone, so convert before you copy.
Can I use names like MON or JAN?
Yes. Three-letter month and day names work in any case, as Linux crontab allows, and so does 7 for Sunday. Strict POSIX cron accepts numbers only.
Does it understand @daily and the other shortcuts?
Yes: @yearly, @annually, @monthly, @weekly, @daily and @hourly. @reboot runs when the machine starts, so it has no run times to show.
Does this tool store or run my cron job?
No — it only parses and validates the expression and computes run times locally; nothing is scheduled or sent anywhere.
What if my expression never actually matches a date?
The tool shows fewer than 5 results and says so plainly, which itself is useful for catching an impossible expression like February 30th.

Ready to broadcast everywhere?

Sign up free — no credit card. You land on the Free plan, and you can start a one-time 7-day Studio trial from your workspace whenever you are ready. Connect your first accounts, import a batch, and watch one post fan out across every platform.