Cron Expression Generator & Explainer
Type a cron expression — or start from a preset — and see exactly what it means in plain English, plus the next five times it will run. Edit each field separately if you prefer.
0–59
0–23
1–31
1–12 or JAN–DEC
0–6 or SUN–SAT (7 = Sun)
In plain English
At 09:00 on Monday through Friday.
Next 5 runs
- Calculating…
Times shown in UTC. The server running your job uses its own time zone — often UTC.
Syntax cheat sheet
| * | Any value | * * * * * — every minute |
| , | List of values | 0 8,12,18 * * * — 8am, noon and 6pm |
| - | Range | 0 9 * * 1-5 — weekdays |
| / | Step | */10 * * * * — every 10 minutes |
| @daily | Shortcut | Same as 0 0 * * * (also @hourly, @weekly, @monthly, @yearly) |
Cron expressions, explained
Cron is the classic way to schedule recurring jobs: backups every night, reports every Monday, cache clean-ups every fifteen minutes. It’s used by Linux crontab, GitHub Actions, Kubernetes CronJobs, Vercel and many cloud schedulers. The syntax is compact — five fields of numbers and symbols — which makes it easy to write a schedule that runs at a completely different time than you intended. This tool translates any expression into plain English and lists the next five run times, so you can be sure before you deploy.
How to use the cron generator
- Type or paste a cron expression, or pick a preset such as “Weekdays at 9:00”.
- Edit individual fields — minute, hour, day of month, month and day of week — in the boxes below.
- Read the plain-English description to confirm it matches your intent.
- Check the next five run times, in your own time zone or in UTC.
- Copy the expression into your crontab, workflow file or scheduler.
The five fields
| Field | Allowed values |
|---|---|
| Minute | 0–59 |
| Hour | 0–23 |
| Day of month | 1–31 |
| Month | 1–12 or JAN–DEC |
| Day of week | 0–6 or SUN–SAT (7 also means Sunday) |
Each field accepts * (every value), lists like 1,15, ranges like 1-5 and steps like */10 or 0-30/5. Shortcuts such as @daily, @hourly and @weekly are expanded automatically.
Common gotchas
- Day of month and day of week together — when both are restricted, standard cron runs the job when either matches.
0 0 13 * 5runs on every 13th and every Friday, not only Friday the 13th. - Time zones — cron uses the time zone of the machine or service running it, which for cloud platforms is usually UTC. A “9:00” job may fire at 4:00 or 5:00 local time. Toggle UTC to compare.
- Days that don’t exist — a job for the 31st skips months with 30 days, and February 29 runs only in leap years.
- Different dialects — Quartz, Spring and AWS EventBridge add a seconds or year field and use
?and other extras. This tool follows the standard five-field format.
Scheduling a job for teammates in other countries? Check the overlap with the Time Zone Meeting Planner. Other developer helpers include the cURL Converter and the JWT Decoder.
Frequently asked questions
What do the five cron fields mean?
In order: minute (0–59), hour (0–23), day of the month (1–31), month (1–12 or JAN–DEC) and day of the week (0–6 or SUN–SAT, where 0 and 7 both mean Sunday). An asterisk means 'every'.
How do I run a job every 15 minutes?
Use */15 * * * *. The */15 in the minute field means every 15th minute: 0, 15, 30 and 45 past each hour.
What happens if I set both day of month and day of week?
In standard cron, when both are restricted the job runs when either matches. So 0 0 13 * 5 runs on the 13th of every month and on every Friday — not only on Friday the 13th.
Which time zone does cron use?
The time zone of the server or service running it, which is often UTC for cloud platforms. The preview shows run times in your browser's time zone or in UTC so you can compare.
Does this support seconds or Quartz syntax?
It follows the standard 5-field format used by crontab, most Linux systems, GitHub Actions and many cloud schedulers. Some tools, such as Quartz, Spring and AWS EventBridge, use 6 or 7 fields with extra rules — check their documentation.
Related tools
Time Zone Meeting Planner
Find a meeting time that works across cities, with working hours and overlap highlighted.
cURL to Fetch / Axios Converter
Turn curl commands into JavaScript fetch() or Axios code, with headers, body and auth.
JWT Decoder
Decode a JSON Web Token's header and payload and check when it expires — privately.