Skip to content
SPCXTools

Cron Expression Generator

Write a crontab schedule, read it in plain language and check exactly when it will run next.

Runs locally — files never leave your device

Loading tool…

How to use Cron Expression Generator

  1. 1Type a cron expression, or start from a preset such as "Weekdays at 09:00".
  2. 2Edit the five fields — minute, hour, day of month, month and day of week — individually or in the main box.
  3. 3Read the plain-language description to make sure the schedule means what you intend.
  4. 4Check the next run times in your own time zone, then copy the expression.

Write cron schedules with confidence

Cron expressions are compact, powerful and easy to get wrong. A single misplaced field can turn "every day at 2 a.m." into "every minute between 2 and 3 a.m." This cron expression generator lets you build a schedule field by field or from presets, explains it in plain language and lists the next times it will run, so you can be sure your backup, report or cleanup job runs exactly when you expect.

Features

  • Five-field editor synced with the full expression.
  • Plain-language description of the schedule.
  • Next five run times calculated in your time zone.
  • Presets for the most common schedules.
  • Validation with a clear message showing which field is wrong.
  • Month and weekday names (JAN–DEC, SUN–SAT) and shortcuts like @daily.
  • Works offline in your browser.

Cron syntax cheat sheet

┌───────── 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)
│ │ │ │ │
* * * * *
Symbol Meaning Example
* Every value * * * * * — every minute
, List 0 8,12,18 * * * — at 08:00, 12:00 and 18:00
- Range 0 9-17 * * * — every hour from 09:00 to 17:00
/ Step */15 * * * * — every 15 minutes

Common examples

Expression Runs
*/5 * * * * Every 5 minutes
0 * * * * At the start of every hour
0 2 * * * Every day at 02:00
0 9 * * 1-5 Weekdays at 09:00
0 0 * * 0 Every Sunday at midnight
0 0 1 * * On the first day of every month
0 0 1 1 * Once a year on 1 January
30 18 * * 5 Every Friday at 18:30

Tips

  • Mind the time zone. Servers and cloud schedulers often use UTC. Use the Time Zone Converter to translate local times.
  • Avoid the top of the hour for non-urgent jobs; many systems run tasks at 0 * * * *, so a minute like 7 spreads the load.
  • Check timestamps in your logs with the Timestamp Converter.

Frequently asked questions

What do the five cron fields mean?
From left to right: minute (0–59), hour (0–23), day of the month (1–31), month (1–12 or JAN–DEC) and day of the week (0–7, where 0 and 7 are Sunday, or SUN–SAT). For example, 30 6 * * 1 runs at 06:30 every Monday.
What do *, comma, dash and slash mean?
* means every value, a comma lists values (1,15), a dash gives a range (9-17) and a slash sets a step (*/10 = every 10, 0-30/5 = every 5 from 0 to 30). They can be combined, such as 0,30 8-18 * * 1-5.
What happens if I set both day of month and day of week?
In standard cron, if both fields are restricted, the job runs when either one matches. 0 12 13 * 5 runs at noon on the 13th of every month and also every Friday — not only on Friday the 13th.
Which time zone are the next run times shown in?
They're calculated in your device's time zone. A server runs cron in its own time zone, often UTC, so convert accordingly — for example with the Time Zone Converter.
Does it support seconds or the year field?
This tool uses the standard five-field format used by crontab, most Linux systems, GitHub Actions, Kubernetes CronJobs and many cloud schedulers. Some tools such as Quartz add a seconds field and a year field; remove those before checking the expression here. Shortcuts like @daily and @hourly are supported.