Cron Expression Parser & Generator
Translate a cron schedule into plain English and preview the next run times in any timezone.
Field breakdown
Next 10 runs
How to use the Cron Expression Parser
- Enter a five-field cron expression (minute hour day-of-month month day-of-week) or pick a preset.
- Read the plain-English description and the per-field breakdown.
- Check the next 10 run times, in your local timezone or in UTC.
- Copy the expression into your crontab, CI pipeline or scheduler.
How cron expressions work
Cron is the time-based job scheduler built into Unix-like systems, and its five-field expression format has become the standard way to describe recurring schedules — in crontab, Kubernetes CronJobs, GitHub Actions schedule triggers, GitLab pipelines, AWS EventBridge (with a sixth year field), Laravel and Symfony schedulers, and most job-queue libraries.
┌───────────── minute (0-59)
│ ┌───────────── hour (0-23)
│ │ ┌───────────── day of month (1-31)
│ │ │ ┌───────────── month (1-12 or JAN-DEC)
│ │ │ │ ┌───────────── day of week (0-7 or SUN-SAT, 0 and 7 = Sunday)
│ │ │ │ │
* * * * * command to run
Special characters
| Symbol | Meaning | Example |
|---|---|---|
* | Every value | * * * * * — every minute |
, | List of values | 0 8,12,18 * * * — 08:00, 12:00 and 18:00 |
- | Range | 0 9 * * 1-5 — 09:00 Monday to Friday |
/ | Step | */10 * * * * — every 10 minutes |
@daily | Macro | Same as 0 0 * * * (also @hourly, @weekly, @monthly, @yearly) |
Common cron schedules
| Expression | Runs |
|---|---|
*/5 * * * * | Every 5 minutes |
0 */2 * * * | Every 2 hours, on the hour |
0 0 * * * | Every day at midnight |
0 9 * * 1-5 | Weekdays at 09:00 |
0 0 * * 0 | Every Sunday at midnight |
0 0 1 * * | Midnight on the first day of every month |
0 0 1 1 * | Midnight on 1 January |
15 2 * * 6 | Saturdays at 02:15 — a typical backup window |
Gotchas that cause missed or duplicate jobs
- Timezones. Cron uses the scheduler’s timezone. GitHub Actions and most managed schedulers run in UTC, so a job you expect at 09:00 local time may fire hours earlier or later. Switch the preview to UTC to check.
- Daylight saving time. In local time, jobs scheduled between 01:00 and 03:00 can be skipped or run twice when clocks change. Prefer UTC for critical jobs.
- Day-of-month OR day-of-week. When both fields are restricted, the job runs when either matches —
0 0 13 * 5runs on every 13th and every Friday, not only on Friday the 13th. - Overlapping runs. If a job can take longer than its interval, guard it with a lock (
flock) or aconcurrencyPolicy: Forbidsetting.
Scheduled jobs often log Unix timestamps — decode them with the Unix Timestamp Converter.
Frequently asked questions
What are the five cron fields?
What happens when both day-of-month and day-of-week are set?
0 0 1 * MON runs on the 1st of every month and on every Monday. This parser follows that rule.How do I run a job every 5 minutes?
*/5 * * * *. The step syntax */n works in every field, and ranges can have steps too, for example 0-30/10.Which timezone does cron use?
Are @daily and Quartz expressions supported?
@hourly, @daily, @weekly, @monthly and @yearly are supported. Quartz-only syntax such as seconds fields, L, W and # is not.Last updated . Launched with plain-English descriptions, presets and next-run preview.
Building something that needs live data?
ProWebLook APIs validate phone numbers, check WhatsApp accounts, verify emails and geolocate IPs. Try every endpoint in the browser, then grab a free API key.