Cron Expression Parser

Type any cron expression to see a plain-English description and the next 10 scheduled runs in UTC.

Cron expression

min · 0-59
hour · 0-23
day · 1-31
month · 1-12
weekday · 0-6

Presets

At 09:00 (multiple times: every 15 (0, 15, 30…) min × 9, 10, 11, 12, 13, 14, 15, 16, 17 hr), on Mon, Tue, Wed, Thu, Fri.

Next 10 runs (UTC)

1Mon, 18 May 2026 09:00:00 GMT
2Mon, 18 May 2026 09:15:00 GMT
3Mon, 18 May 2026 09:30:00 GMT
4Mon, 18 May 2026 09:45:00 GMT
5Mon, 18 May 2026 10:00:00 GMT
6Mon, 18 May 2026 10:15:00 GMT
7Mon, 18 May 2026 10:30:00 GMT
8Mon, 18 May 2026 10:45:00 GMT
9Mon, 18 May 2026 11:00:00 GMT
10Mon, 18 May 2026 11:15:00 GMT

Times are in UTC. Schedules typically run in the timezone of the host (or UTC for cloud schedulers).

About this tool

A cron expression parser that validates the syntax, explains the schedule in plain English, and shows you the next 10 runs in UTC. Perfect for scheduling cloud functions, background jobs, and crontab entries you can't afford to get wrong.

🧠Plain-English schedule description
🗓️Next 10 runs preview (UTC)
Step (*/N) and range (1-5) support
One-click presets for common patterns
🪶Aliases: @daily, @hourly, @weekly
📋Copy expressions to clipboard

How to use it

Quick steps to get the most out of this utility.

  1. 1

    Type or pick a preset

    Start with a built-in preset and adapt, or type from scratch.

  2. 2

    Read the description

    The plain-English summary tells you what your expression actually does.

  3. 3

    Verify next runs

    The 10 upcoming run timestamps make scheduling bugs obvious before deploy.

  4. 4

    Copy and paste

    Drop into crontab, GitHub Actions, AWS EventBridge, or Cloud Scheduler.

Cron field reference

FieldRangeSpecial chars
Minute0-59* , - /
Hour0-23* , - /
Day of month1-31* , - /
Month1-12* , - /
Day of week0-6 (Sun=0)* , - /

Common gotchas

  • Day-of-month + day-of-week: if both are non-*, most implementations OR them, not AND.
  • Timezones: cloud schedulers usually default to UTC; system cron uses local TZ.
  • Steps don't straddle: */15 on the hour field means 0, 15, 30, 45 — not arbitrary 15-minute intervals across hour boundaries.

Frequently asked questions

What's the cron expression format?+

Five space-separated fields: minute (0-59), hour (0-23), day of month (1-31), month (1-12), day of week (0-6, Sunday=0). Use * for "any", */N for "every N", and ranges like 1-5.

Why does my cron job run more often than expected?+

When both day-of-month and day-of-week are specified (neither is *), most cron implementations run when EITHER matches. So "0 0 1 * 1" fires on the 1st of every month AND every Monday.

How do I run something every 90 minutes?+

You can't directly — cron only supports intra-hour or intra-day patterns, not arbitrary intervals that don't divide cleanly into 60. The workaround is two entries: "0 0,3,6,9,12,15,18,21 * * *" for every 3 hours starting midnight, plus "30 1,4,7,10,13,16,19,22 * * *" for the 90-min offsets.

What timezone do cron jobs run in?+

Traditional Unix cron uses the system timezone. Cloud schedulers (AWS EventBridge, GCP Cloud Scheduler, Vercel Cron) typically default to UTC. Always check your scheduler's docs and explicitly set TZ if needed.

Keep exploring

More utilities and reading from Toolisk.