Utilo

Cron Expression Parser

Parse cron expressions into human-readable descriptions and see the next scheduled run times.

What this cron parser does

Cron expressions schedule recurring jobs on Linux servers, Kubernetes CronJobs, GitHub Actions and cloud schedulers. Five terse fields hide surprisingly complex rules. This parser explains any expression in plain language, shows each field separately, and lists the next eight run times in your local time zone so you can confirm a schedule before deploying it.

How to use it

  1. Type an expression such as */15 9-17 * * 1-5.
  2. Read the description, for example "Every 15 minutes, between 09:00 and 17:59, Monday through Friday".
  3. Check the breakdown of minute, hour, day of month, month and day of week.
  4. Verify the upcoming runs, or click a preset to start from a common schedule.

Practical examples

  • 0 2 * * * runs a nightly backup at 02:00.
  • */5 * * * * polls an API every five minutes.
  • 0 9 * * 1-5 sends a report at 09:00 on weekdays.
  • 0 0 1 * * generates monthly invoices at midnight on the first day of each month.
  • 30 18 * * 5 triggers a Friday 18:30 deployment freeze reminder.

Tips and edge cases

  • Cron uses the server's time zone. Kubernetes and GitHub Actions default to UTC, so 0 9 * * * may fire in the middle of your night.
  • When both day of month and day of week are restricted, classic cron runs when either matches, not both.
  • */7 in the minute field runs at 0, 7, 14 ... 56 and then again at 0, so the gap across the hour is four minutes.
  • Day of week accepts 0 and 7 for Sunday in most implementations.
  • Some platforms accept a sixth field for seconds or years; check your scheduler's documentation.

Frequently asked questions

What do the five fields mean?

Minute (0–59), hour (0–23), day of month (1–31), month (1–12) and day of week (0–6, Sunday = 0), in that order.

How do I run a job every 30 seconds?

Standard cron's smallest unit is one minute. Run a job every minute that does its work twice with a 30-second sleep, or use a scheduler that supports seconds.

Why did my job not run at the expected time?

Most often because of a time zone difference or daylight saving changes. Check the next-run list with your server's zone in mind.

Are the next run times in UTC?

They are displayed in your browser's local time zone. Convert to your server's zone if it differs.

Yes. All processing happens directly in your browser using JavaScript, Web Workers and Web APIs. Nothing you type, paste or upload is sent to our servers.