Skip to content

Cron expression generator

Type a cron expression to see what it means in plain English and when it will run next, or build one field by field with presets for common schedules.

  • Free, no limits
  • No sign-up
Everything happens in your browser; your data is never uploaded.
  • ✓ Free
  • ✓ No sign-up
  • ✓ Nothing uploaded

Next step

What to do next

How to use it

  1. Type a cron expression, or click a preset such as Weekdays at 8:30 AM.
  2. Read the plain-English description and check the next run times.
  3. Adjust individual fields in Build it field by field.
  4. Copy the expression into your crontab, CI config or scheduler.
Try it now

The five cron fields

A classic cron expression has five fields separated by spaces:

┌───────── minute (0–59)
│ ┌─────── hour (0–23)
│ │ ┌───── day of month (1–31)
│ │ │ ┌─── month (1–12 or JAN–DEC)
│ │ │ │ ┌─ day of week (0–6, Sunday = 0 or 7, or SUN–SAT)
│ │ │ │ │
30 8 * * 1-5

30 8 * * 1-5 means at 8:30 AM, Monday through Friday. Hours use the 24-hour clock, so 2:00 PM is 14.

Special characters

SymbolMeaningExample
*every value* * * * * every minute
,list0 9,17 * * * at 9 AM and 5 PM
-range0 9-17 * * * every hour from 9 AM to 5 PM
/step*/15 * * * * every 15 minutes
JAN, MONnames0 0 1 JAN * on January 1

Macros are accepted too: @hourly, @daily (same as @midnight), @weekly, @monthly and @yearly (or @annually). @reboot runs at system startup and has no schedule to show.

Common schedules

ExpressionRuns
*/5 * * * *every 5 minutes
0 * * * *at the start of every hour
0 3 * * *every day at 3:00 AM
30 8 * * 1-5weekdays at 8:30 AM
0 9 * * 1every Monday at 9:00 AM
0 0 1 * *at midnight on the 1st of every month
0 22 * * 0,6weekends at 10:00 PM
15 2 1 1,4,7,10 *quarterly, at 2:15 AM on the 1st of January, April, July and October

The presets above the result fill these in with one click.

The day-of-month and day-of-week trap

When both day of month and day of week are restricted, standard (Vixie) cron runs the job when either matches, not when both match. So 0 9 13 * 5 runs at 9 AM on the 13th of every month and on every Friday, not only on Friday the 13th.

The tool's description and the list of next runs follow this rule, so you can see exactly what will happen. If you need "only Friday the 13th," schedule the job on the 13th and check the weekday inside the script.

Another common surprise: a schedule like 0 0 30 2 * (February 30) never runs. The tool tells you when no matching time exists in the next five years.

Time zones and other cron flavors

The next run times are shown in your computer's time zone, but the server that runs the job uses its own time zone, often UTC. A job set for 0 9 * * * on a UTC server runs at 4 AM or 5 AM Eastern, depending on daylight saving time. Check your server's time zone, or set one explicitly if your scheduler supports it.

This generator checks the classic 5-field format used by Linux crontab, GitHub Actions, GitLab CI and Kubernetes CronJobs. Some schedulers use a different syntax:

  • Quartz and Spring add a seconds field at the start (6 or 7 fields) and use ? for "no specific value."
  • AWS EventBridge uses 6 fields with a year at the end.

The tool tells you if you paste a 6-field expression.

Frequently asked questions

What does * * * * * mean in cron?

Every minute of every hour, every day.

How do I run a cron job every 5 minutes?

Use */5 * * * *. The */5 in the minute field means every fifth minute, starting at 0.

How do I schedule a job on weekdays only?

Put 1-5 in the day-of-week field, for example 0 9 * * 1-5 for 9:00 AM Monday through Friday.

Which time zone does cron use?

The time zone of the server that runs it, often UTC. The next runs on this page are shown in your own time zone.

Does it support seconds (Quartz)?

No. It checks the classic 5-field format. Quartz and Spring expressions with a seconds field are not supported.

Last updated: November 12, 2026

Recommended

Similar tools

If Cron expression generator helped, you may need these too.

See all in category →

People also use