Cron Expression Generator
Interactive StudioBuild a 5-field cron expression from minute, hour, day, month, and weekday fields, with a plain-English description. Instant feedback with zero server storage.
Loading tool…
About Cron Expression Generator
A cron expression schedules recurring jobs using five space-separated fields, in order: minute, hour, day of month, month, and day of week. Each field accepts a specific number, an asterisk meaning "every," or (in most cron implementations) ranges and step values like 1-5 or */15. This generator builds the expression field by field and translates it back into a plain-English sentence so you can sanity-check what you actually configured before pasting it into a crontab, a CI pipeline, or a task scheduler.
The tricky part of cron isn't the syntax, it's the interaction between day-of-month and day-of-week: when both fields are restricted (not left as *), most cron implementations run the job if either condition matches, not only when both match — a frequent source of jobs firing on unexpected days. It's also worth remembering that cron typically runs in the server's local time zone or UTC, not the time zone of whoever wrote the expression, and that minutes and hours use 24-hour, zero-indexed values.
This is useful any time you're setting up a scheduled task — a nightly backup, a report that emails every Monday morning, a cache warm-up every 15 minutes — and want to verify the expression matches your intent before it goes live somewhere you can't easily watch it run.
How to use Cron Expression Generator
- Set each of the five fields: minute, hour, day of month, month and day of week.
- Use a number for a fixed value, * for every value, a range like 1-5, or a step like */15.
- Read the plain-English description to check it matches your intent.
- Copy the expression into your crontab, CI scheduler or job runner.
Worked examples
Input: */15 * * * *
Result: Every 15 minutes.
Input: 30 2 * * 1-5
Result: At 02:30 on Monday through Friday.
Input: 0 0 1 * *
Result: At midnight on the first day of every month.
Background
Standard cron has five fields: minute (0-59), hour (0-23), day of month (1-31), month (1-12) and day of week (0-7, where 0 and 7 are Sunday). A job runs when all fields match, with one catch: in most implementations, if both day-of-month and day-of-week are restricted, the job runs when either matches.
Cron runs in the server's time zone. Some platforms, such as Quartz and certain cloud schedulers, add a seconds field or use different syntax, so confirm what your system expects.
Common mistakes
- Writing 0 */1 instead of * when you want every minute. The first runs once an hour.
- Forgetting the server time zone, so jobs run at an unexpected local time.
- Restricting both day of month and day of week and expecting both to apply.
Frequently Asked Questions
Frequently Paired With
Fast, local-first developer micro-tools with zero tracking or latency.
Hash Generator
Generate SHA-1/256/384/512 hashes of text.
UUID Generator
Generate random UUIDs (v4).
Regex Tester
Test regular expressions with live highlighting, group captures & replacement.
SQL Formatter
Format and beautify SQL queries.
