ToolGenie.org Logo

Free Cron Expression Generator & Explainer

Build a crontab schedule visually, paste any cron expression for a plain-English explanation, and preview the next run times — privately in your browser.

Every minute, every hour, every day

Visual field builder

Order: minute · hour · day-of-month · month · day-of-week (classic Unix crontab, five fields).

Quick presets

Next run times

Upcoming executions for the current expression (next 10).

  1. #1Fri, Sep 04, 2026, 13:49:00 UTC
  2. #2Fri, Sep 04, 2026, 13:50:00 UTC
  3. #3Fri, Sep 04, 2026, 13:51:00 UTC
  4. #4Fri, Sep 04, 2026, 13:52:00 UTC
  5. #5Fri, Sep 04, 2026, 13:53:00 UTC
  6. #6Fri, Sep 04, 2026, 13:54:00 UTC
  7. #7Fri, Sep 04, 2026, 13:55:00 UTC
  8. #8Fri, Sep 04, 2026, 13:56:00 UTC
  9. #9Fri, Sep 04, 2026, 13:57:00 UTC
  10. #10Fri, Sep 04, 2026, 13:58:00 UTC

Copy for your platform

Ready-to-paste snippets for crontab, GitHub Actions, and Kubernetes.

* * * * * /path/to/command

How to Use the Cron Expression Generator

  1. Start from a preset — click Every 5 minutes, Hourly, Daily at midnight, Weekdays at 9:00, or another common crontab schedule.
  2. Tune the five fields (minute, hour, day of month, month, day of week) in the visual builder, or paste a full cron expression into the input.
  3. Read the plain-English explanation to confirm the schedule matches what you meant — for example, 0 9 * * 1-5 means weekdays at 09:00.
  4. Preview the next run times in your browser's local timezone, UTC, or another IANA zone so the fire times match your runner.
  5. Copy the expression or a platform snippet for Linux crontab, GitHub Actions schedule, or a Kubernetes CronJob.

About This Crontab Generator and Explainer

Cron is the standard way to schedule recurring jobs on Linux servers, CI platforms, and container orchestrators. A short cron expression (crontab format) describes when something should run — every five minutes, once an hour, weekdays at 9am — without embedding calendar logic in your application code.

This free cron expression generator helps you build and decode those schedules in both directions. Use the visual field builder when you are starting from scratch, or paste an existing expression to get a plain-English explainer and the next ten run times. Everything is calculated client-side, so schedule strings never leave your browser.

Timezone mistakes are the most common production bug with cron. GitHub Actions evaluates on.schedule in UTC, while a VM crontab often follows the host zone. Pair this tool with the world time zone converter or Unix epoch converter when you need to reason about absolute timestamps across regions.

Cron Syntax Reference

FieldAllowed valuesSpecial characters
Minute0–59* , - /
Hour0–23* , - /
Day of month1–31* , - / L W ?
Month1–12 or JAN–DEC* , - /
Day of week0–7 or SUN–SAT (0 and 7 = Sunday)* , - / L # ?
  • * — any value (every minute, every hour, …)
  • , — list separator (1,15)
  • - — range (1-5)
  • / — step (*/5 = every 5 units)
  • ? — “no specific value” (Quartz-style; often treated like * in Unix tools)
  • L — last day of the month or week; W — nearest weekday; # — nth weekday of the month (for example 1#1 = first Monday)

This page defaults to the classic five-field Unix crontab format used by Linux crontab and GitHub Actions. Some Java schedulers (Quartz) add a leading seconds field — paste those carefully and confirm your platform's expected field count.

Frequently Asked Questions (FAQ)

What is a cron expression / crontab format?

A cron expression is a five-field schedule used by Unix crontab and many job runners: minute, hour, day of month, month, and day of week. Special characters like * (any), , (list), - (range), and / (step) let you describe recurring jobs without writing code.

How do I run a cron job every 5 minutes?

Use the expression */5 * * * *. The */5 in the minute field means “every 5th minute.” Click the Every 5 minutes preset in this generator, then copy the expression into crontab, GitHub Actions, or a Kubernetes CronJob.

What does 0 9 * * 1-5 mean?

It means “at 09:00 on Monday through Friday.” Minute is 0, hour is 9, day-of-month and month are any (*), and day-of-week is the range 1–5 (Monday–Friday in most Unix cron implementations).

How do I see the next run times for a cron expression?

Paste or build an expression on this page and check the Next run times list. You can switch between your browser's local timezone, UTC, and common IANA zones so the preview matches where the job will actually run.

What is the difference between day-of-month and day-of-week?

Day-of-month (1–31) targets calendar dates; day-of-week (0–7, Sunday = 0 or 7) targets weekdays. Using both non-* fields together can be confusing because many cron daemons treat that as OR rather than AND — prefer setting only one of them when you can.

Does cron use my local timezone or UTC?

It depends on the platform. Classic Linux crontab usually uses the system timezone. GitHub Actions schedule cron runs in UTC. Kubernetes CronJobs default to the controller's timezone unless you set a timeZone field. Always confirm the runner's zone before you ship a schedule.

Can I use this for GitHub Actions or Kubernetes CronJobs?

Yes. After you build an expression, copy the GitHub Actions or Kubernetes snippet from the tool. Both use standard five-field cron syntax; remember GitHub Actions evaluates schedules in UTC.

Is this cron expression generator private / client-side?

Yes. Parsing, plain-English explanations, and next-run calculations all run in your browser with JavaScript. Your expressions are never uploaded to a server.

Tips for Reliable Cron Schedules

  • Prefer simple expressions. */5 * * * * is easier to audit than a long list of minutes.
  • Watch day-of-month vs day-of-week. Setting both to non-* values can produce unexpected OR behavior on many daemons.
  • Document the timezone next to every schedule — especially for GitHub Actions (UTC) and multi-region Kubernetes clusters. DST shifts can move “9am local” jobs by an hour.
  • Offset heavy jobs away from minute 0 when many teams share infrastructure — for example 7 * * * * instead of 0 * * * *.
  • Verify with next-run previews before you deploy, then keep a human-readable comment in the crontab or workflow file.
  • Need a countdown while you wait for a job window? Try the timer & stopwatch or compare calendar spans with the date difference calculator.