Skip to content

Developer & Security

Cron Expression: Explainer and Schedule Builder

Type a cron expression or pick an example, then read what it means and exactly when it runs next. Useful for crontab, GitHub Actions and Kubernetes CronJobs.

Free · no sign-up · runs in your browser · updated

Use Cron Expression Generator

Five fields: minute hour day-of-month month day-of-week. The shortcuts @daily, @hourly, @weekly, @monthly and @yearly also work.

Quick examples

Edit field by field

0–59

0–23

1–31

1–12 / JAN–DEC

0–7 / SUN–SAT

Meaning

At 09:00, Monday through Friday

Cron uses the server’s time zone. GitHub Actions defaults to UTC.

Next 10 run times (WIB)

Calculating…

Crontab line

0 9 * * 1-5 /path/to/command >> /var/log/task.log 2>&1

Supports standard 5-field cron (Linux crontab, GitHub Actions, Kubernetes CronJob). Quartz/Spring formats with seconds, L, W or # are not supported.

How to use Cron Expression Generator

  1. Type a five-field cron expression, pick a quick example, or edit it field by field.

  2. Read what it means in plain English and fix any error message on a specific field.

  3. Choose your server’s time zone and check the next ten run times, then copy the crontab line.

The five-field format

The order is 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 0 and 7 are both Sunday). The * sign means every value, a comma makes a list (1,15), a hyphen makes a range (1-5), and a slash sets a step (*/15 = every 15 minutes; 10-40/10 = 10, 20, 30, 40). The shortcuts @hourly, @daily, @weekly, @monthly and @yearly are also recognized.

When both the day-of-month and day-of-week fields are restricted (neither starts with *), the job runs on days that match either one (OR), following Vixie cron behavior. If one of them starts with *, both must match (AND). Example: 0 0 1 * 1 runs on the 1st of every month and every Monday.

Time zones and limitations

Cron uses the server’s time zone: many servers use UTC, and GitHub Actions also defaults to UTC (other zones can be set), so 09:00 WIB is the same as 02:00 UTC. This tool calculates schedules for WIB, WITA, WIT and UTC (fixed offsets, no daylight saving). Quartz or Spring formats with a seconds or year field, as well as L, W and #, are not supported; expressions that never occur, such as February 31, are reported.

Questions about Cron Expression Generator

What does */5 * * * * mean?

It runs every 5 minutes, all the time: at minute 0, 5, 10 and so on.

How do I schedule a job for 9 a.m. on every weekday?

0 9 * * 1-5. Mind the server’s time zone: if the server uses UTC, use 0 2 * * 1-5 for 09:00 WIB.

Why does my schedule run on unexpected days?

If both day of month and day of week are set, cron runs the job when either one matches (OR). Leave one of them as * if you want both to match.

Does cron support seconds?

Standard cron does not. The format with a seconds field comes from Quartz or Spring and is not supported by this tool.

Is my expression sent to a server?

No. Validation and schedule calculation run in your browser.

Need more than tools?

We build websites, apps, and custom systems for your business.

These tools are only a small part of what Tipamedia can build. Tell us what you need and we will help you work out the next step.