DeveloperKit

Cron Expression Generator

Build cron schedules with dropdowns or paste an expression to see what it means in plain English and when it runs next. Free, private, and 100% in your browser.

Cron Expression

✓ Valid
  1. */15Minute
  2. *Hour
  3. *Day of month
  4. *Month
  5. *Day of week

“Every 15 minutes”

Build with Dropdowns

*/15
*
*
*
*

Next Run Times

Calculating…

Cron Expressions Explained

A cron expression is a compact schedule used by crontab on Linux and macOS, Kubernetes CronJobs, GitHub Actions, CI systems, and many job schedulers. It has five fields separated by spaces: minute hour day-of-month month day-of-week. Each field accepts a single value, a list (1,15), a range (1-5), a step (*/10), or * for every value.

Common cron schedules
*/5 * * * *      Every 5 minutes
0 * * * *        Every hour, at minute 0
0 0 * * *        Every day at midnight
30 9 * * 1-5     At 09:30, Monday through Friday
0 0 1 * *        At midnight on the 1st of every month
0 0 1 */3 *      At midnight on the 1st of every quarter

Features

  • Plain-English explanations

    Every expression is translated as you type, e.g. */15 9-17 * * 1-5 becomes "Every 15 minutes, between 09:00 and 17:59, on Monday through Friday".

  • Visual builder

    Pick every N minutes, specific hours, weekday ranges, or months from dropdowns and toggle grids. The expression updates instantly, and typed expressions load back into the builder.

  • Next run times

    See the next 5 to 50 runs in your local time zone or UTC, with how long until each one, so you can check a schedule before deploying it.

  • Exact error messages

    Out-of-range values, reversed ranges, bad steps, and wrong field counts are reported with the column, and Quartz-only syntax is called out clearly.

  • Full crontab syntax

    Lists, ranges, steps, JAN-DEC and SUN-SAT names, 7 as Sunday, ?, an optional seconds field, and the @daily, @hourly, @weekly, @monthly, @yearly, and @reboot macros.

  • Private by design

    Everything runs in your browser. Your schedules are never uploaded or stored.

How to Create a Cron Expression

  1. Start from a preset or type an existing expression into the input.
  2. Adjust each field in the builder: every value, every N, specific values, or a range.
  3. Read the plain-English description to confirm the schedule means what you intend.
  4. Check the next run times in your time zone or UTC, then copy the expression.

Frequently Asked Questions

What do the five fields in a cron expression mean?

From left to right: minute (0-59), hour (0-23), day of month (1-31), month (1-12 or JAN-DEC), and day of week (0-7 or SUN-SAT, where both 0 and 7 are Sunday). An asterisk means every value, so * * * * * runs every minute.

What does */15 * * * * mean?

It runs every 15 minutes: at minutes 0, 15, 30, and 45 of every hour, every day. The /15 is a step value. In the hour field, */2 means every second hour (0, 2, 4, and so on).

Why does my job run on more days than expected when I set both day fields?

Standard cron (Vixie cron, used by Linux and macOS) treats day of month and day of week as OR when both are restricted. 0 0 1 * 1 runs on the 1st of every month and on every Monday. If either field starts with *, the other one alone decides.

Which time zone does cron use?

System cron uses the server's local time zone unless CRON_TZ or TZ is set. Many cloud schedulers, such as GitHub Actions and Kubernetes CronJobs by default, use UTC. Switch the Next Run Times list between local time and UTC to compare.

Does this support seconds or Quartz expressions?

A sixth leading seconds field is supported, as used by Spring, node-cron, and similar libraries. Quartz-only features such as L, W, #, and a seventh year field are not part of standard cron and are reported as errors.

What is the difference between @daily and 0 0 * * *?

None. @daily (and @midnight) is shorthand for 0 0 * * *. Likewise @hourly is 0 * * * *, @weekly is 0 0 * * 0, @monthly is 0 0 1 * *, and @yearly is 0 0 1 1 *. @reboot runs once when the cron daemon starts.

  • Lorem Ipsum Generator

    Generate lorem ipsum placeholder text by paragraphs, sentences, or words, as plain text, HTML, or Markdown.

  • Fake Data Generator

    Generate realistic fake names, emails, addresses, and products in bulk as JSON, CSV, or SQL for testing.

  • QR Code Generator

    Turn a URL, text, or Wi-Fi network into a QR code instantly and download it as SVG or PNG.

  • JSON Formatter

    Beautify, minify, and validate JSON instantly with exact line and column error reporting.