Skip to content

Cron Expression Reader

Decode a cron expression into plain English plus the next 5 run times.

Runs in your browser

Drop a cron expression. We describe each field in English and compute the next 5 UTC run times so you can sanity-check before deploying.

5 fields: minute hour day-of-month month day-of-week. Also accepts @hourly / @daily / @weekly / @monthly / @yearly.

Description

every minute, at hours 9, 10, 11, 12, 13, 14, 15, 16, 17, on Mon, Tue, Wed, Thu, Fri

How to use it

  1. Paste a cron expression

    5 fields separated by spaces. Aliases like @daily also work.

  2. Read the description

    Each field is described in English on the highlighted card.

  3. Verify the next 5 runs

    Times are UTC. Convert to your timezone with the timezone-converter tool if needed.

What is it?

A cron expression is the 5-field schedule string used by Unix cron, GitHub Actions, AWS EventBridge, Kubernetes CronJob and most ETL schedulers. Each field is a minute, hour, day-of-month, month or day-of-week; values can be wildcards (*), ranges (1-5), lists (1,3,5) or steps (*/5). Reading one at a glance is a known source of off-by-one production incidents.

When to use it

Before committing a new cron job. Sanity-checking a vendor's scheduled-task UI. Debugging a job that ran at an unexpected hour. Teaching someone the rules so they can produce one themselves.

Common mistakes

Putting both day-of-month and day-of-week as restrictions and expecting AND - cron actually ORs them when both are restricted. Forgetting the timezone (cron runs in the server's TZ, usually UTC, not yours). And misinterpreting '* /5' as 'every 5 minutes starting at 0' vs 'between minute 5 and 59' - it's the former.

FAQ

Which cron flavour is supported?
Standard 5-field (minute hour dom month dow). 6-field with seconds, named months (JAN), L/W/# tokens and timezone overrides are out of scope. The @hourly / @daily / @weekly / @monthly / @yearly / @midnight / @annually aliases are accepted.

More in this category