Cron Expression Builder
Pick a plain-English preset or configure each field visually. Instantly generates the cron string, a human-readable description, and a preview of the next 5 runs.
Matches every minute. Cron token: *
Every minute
- 1Thu, Apr 16, 2026, 05:06 AM
- 2Thu, Apr 16, 2026, 05:07 AM
- 3Thu, Apr 16, 2026, 05:08 AM
- 4Thu, Apr 16, 2026, 05:09 AM
- 5Thu, Apr 16, 2026, 05:10 AM
| Field | Allowed values | Special chars | Example |
|---|---|---|---|
| Minute | 0–59 | * , - / | 0 → at minute 0 |
| Hour | 0–23 | * , - / | 9 → 9:00 AM |
| Day of Month | 1–31 | * , - / | 1 → 1st of month |
| Month | 1–12 | * , - / | */3 → every quarter |
| Day of Week | 0–6 | * , - / | 1-5 → Mon–Fri |
* — every value, — list of values- — range/ — step intervalHow to use Cron Expression Builder
- 1Pick a preset or start from scratch
Click any Quick Preset — such as 'Every Monday at 9 AM' or 'Daily at midnight' — to load a ready-made expression. Or leave the default and build your own from the field editors.
- 2Configure each field visually
Click a field tab (MIN, HH, DOM, MON, DOW) to open its editor. Choose Every to match all values, Specific to pick exact values, Range for a continuous run of values, or Step (*/n) to fire every n units.
- 3Read the plain-English description
As you adjust fields, the description updates instantly — for example: 'At 9:00 AM, Monday through Friday'. Use this to confirm the schedule matches your intent before deploying.
- 4Check the next scheduled runs
The 'Next 5 Scheduled Runs' panel shows the upcoming fire times with full date and time. This lets you verify that edge cases like month boundaries or DST transitions behave as expected.
- 5Copy the expression
Click Copy to place the cron string on your clipboard — paste it directly into your crontab, CI configuration, GitHub Actions schedule, or application scheduler.
- 6Parse an existing cron string
Paste any 5-field cron expression into the expression input box. The builder will parse it, populate all field editors, and display the human-readable description so you can understand or modify it.
Frequently Asked Questions
What is a cron expression?
- A cron expression is a string of five space-separated fields that define when a recurring task should run: minute (0–59), hour (0–23), day-of-month (1–31), month (1–12), and day-of-week (0–6, where 0 is Sunday). For example, '0 9 * * 1' means 'at 9:00 AM every Monday'.
What does */n mean in a cron field?
- The slash (/) is the step operator. '*/n' means 'every n units starting from the minimum'. For example, '*/15' in the minute field means 'at minutes 0, 15, 30, and 45 of every hour'. In the hour field, '*/2' means 'every 2 hours: 0, 2, 4, … 22'.
What is the difference between day-of-month and day-of-week?
- Day-of-month (DOM) targets a specific calendar date — e.g. the 1st or the 15th of each month. Day-of-week (DOW) targets a recurring weekday — e.g. every Monday. When both fields are set to non-wildcard values, most cron implementations fire when either condition is true (OR behaviour), which can be surprising. It is usually cleaner to set one to '*' and use the other.
Does the builder support @yearly, @monthly, or @reboot shortcuts?
- The visual builder works with standard 5-field cron syntax. The @yearly, @monthly, @weekly, @daily, @hourly, and @reboot shorthands are shell-level aliases supported by cron daemons like crond, but they are not universal across all schedulers (GitHub Actions, Kubernetes CronJob, etc.). The equivalent 5-field expressions are available as presets.
How accurate are the 'Next 5 Scheduled Runs' times?
- The next-run calculator uses your browser's local clock and timezone. It iterates minute-by-minute from the current time and checks each candidate against the cron expression — the same logic a cron daemon uses. Note that cron daemons typically do not account for Daylight Saving Time transitions, so a job scheduled for '0 2 * * *' may fire twice or not at all on DST change nights.
Does the tool send my cron expressions to a server?
- No. All parsing, building, and scheduling logic runs entirely in your browser using JavaScript. Nothing is transmitted to any server. Your expressions are saved only in your browser's local storage for session persistence.