Sign inStart your trial

Cron Expression Generator: Plain English to Cron (Free)

Write the schedule the way you'd say it ('mondays at 9am', 'every 15 minutes') and get the cron expression, checked against its next five run times. Paste an existing cron to get plain English back. Runs entirely in your browser.

01. Describe the schedule

Try a day plus a time, or paste something like 0 9 * * 1-5.
02. Reference

Cron syntax, briefly

Five fields, space-separated, left to right: minute (0-59), hour (0-23), day of month (1-31), month (1-12), day of week (0-6, Sunday is 0). Four operators: * for every, a dash for ranges (1-5), a comma for lists (1,3,5), and a slash for steps (*/15).

You could type You get
every 15 minutes */15 * * * *
every 2 hours 0 */2 * * *
hourly 0 * * * *
every day at 9am 0 9 * * *
mondays at 9am 0 9 * * 1
weekdays at noon 0 12 * * 1-5
weekends at 10am 0 10 * * 0,6
monday through friday at 8:30am 30 8 * * 1-5
mondays and thursdays at 9am 0 9 * * 1,4
9am and 5pm 0 9,17 * * *
1st of the month at 8am 0 8 1 * *
monthly on the 15th at 9am 0 9 15 * *
fridays at 21:00 0 21 * * 5
thurs at 4pm 0 16 * * 4

Common expressions, decoded (meanings generated by the same engine that powers the tool, verified 2026-06-07):

Expression Meaning
* * * * * Every minute
*/5 * * * * Every 5 minutes
*/15 * * * * Every 15 minutes
0 * * * * Every hour
0 0 * * * Every day at 12:00 AM
0 9 * * * Every day at 9:00 AM
0 9 * * 1-5 Weekdays at 9:00 AM
0 9,17 * * * Every day at 9:00 AM and 5:00 PM
0 0 * * 0 Every Sunday at 12:00 AM
0 21 * * 5 Every Friday at 9:00 PM
0 8 1 * * Monthly on the 1st at 8:00 AM
0 9 15 * * Monthly on the 15th at 9:00 AM

The parser is deterministic: the same words always produce the same expression, typos like "thurday" and shorthand like "thurs" or "th" resolve to the day you meant, and genuinely ambiguous input (a bare "t" could be Tuesday or Thursday) is rejected rather than guessed. When plain cron cannot express something, like the last day of the month, the tool says so instead of inventing an approximation.

That engine is open source. We extracted the parser and describer powering this page into cron-naturally, a zero-dependency npm package you can drop into your own project. See the interactive docs or the source on GitHub.

03. Still deciding

Frequently asked questions

What is a cron expression?

A cron expression is a five-field schedule format: minute, hour, day of month, month, and day of week, in that order. For example, 0 9 * * 1-5 means 9:00 AM every weekday. Each field accepts a number, a range (1-5), a list (1,3,5), a step (*/15), or * meaning every.

How do I write a cron expression for every weekday at 9am?

0 9 * * 1-5. The 0 is the minute, 9 is the hour on a 24-hour clock, the two asterisks mean every day of the month and every month, and 1-5 selects Monday through Friday. Type 'weekdays at 9am' into the generator above to see it built and verified against the next run times.

What does */15 mean in cron?

*/15 in the minute field means every 15th minute: :00, :15, :30, and :45 of every hour. The slash is cron's step operator; */5 would fire every 5 minutes. Steps work in any field, so 0 */2 * * * runs at the top of every second hour.

Are cron days of the week 0-6 or 1-7?

0-6 with 0 as Sunday in standard cron, and most implementations also accept 7 as Sunday. This tool emits 0-6, which is the most portable form. Monday is 1, so the weekday block is 1-5.

How do timezones and daylight saving affect cron schedules?

A cron expression carries no timezone of its own; the system running it decides what 9:00 means. In Rills every schedule stores an explicit timezone, and runs follow it through daylight saving so a 9:00 AM schedule stays 9:00 AM local year-round. The next-run preview above uses your browser's timezone.

Can cron run something on the last day of the month?

Not in standard five-field cron. Some implementations add an L modifier, but it is not portable. The common workaround is scheduling on the 28th, the latest day that every month has. This tool tells you the same thing honestly if you type 'last day of the month'.

Put that schedule to work.

Rills runs scheduled workflows in your timezone, pauses them for your approval at $0, and never charges for the waiting.

14-DAY TRIAL · NO CREDIT CARD · APPROVALS ARE FREE