{ } Formatters

Cron Expression Parser

Parse any cron expression into plain English and see the next 12 scheduled run times.

Next 12 runs Plain English All fields Private

How the Cron Expression Parser Works

The ByteKiln Cron Parser tokenizes each field, expands step and range expressions into value sets, and translates them into plain English. The next-run calculator iterates from the current minute forward.

Field parsing

Each of the five fields is expanded into a sorted set of matching values. Step expressions (*/5, 10-30/2), ranges (1-5), lists (1,3,5), and wildcards (*) are all supported. Named aliases like MON, TUE, JAN are also recognized.

Next run calculation

Starting from the next minute, the calculator checks each minute against the expanded field sets. When all five conditions match, that datetime is a scheduled run. The process repeats until 12 matches are found.

Day of week vs day of month

When both the day-of-month and day-of-week fields are non-wildcard, Unix cron fires when either matches (OR logic). When one is a wildcard and the other is specified, only the specified field is used.

FAQ

Short answers for the things developers usually ask before trusting a tool.

What is a cron expression?

A cron expression is a string of five space-separated fields that define a schedule for repeated tasks: minute (0–59), hour (0–23), day of month (1–31), month (1–12), and day of week (0–6, where 0 is Sunday). Special characters like * (any), / (step), - (range), and , (list) combine to express complex schedules.

What does */5 mean in a cron expression?

*/5 means "every 5 units". In the minute field, */5 means every 5 minutes (0, 5, 10, 15…). In the hour field, */5 means every 5 hours. The asterisk means "start from the minimum value of the field", and /5 means step by 5.

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

* * * * * runs every minute. 0 * * * * runs once per hour, at minute 0 (i.e., at the top of each hour: 00:00, 01:00, 02:00…). The first field is the minute field, so 0 pins execution to the start of each hour.

Why does the next run calculator show local times?

The cron parser uses your browser's local timezone for the next-run display. Cron daemons on servers run in the server's timezone (usually UTC). If your server is on UTC and you're viewing from a different timezone, the displayed times are offset accordingly.

Does this support the @daily and @weekly shorthand?

Yes. The parser understands @yearly, @annually, @monthly, @weekly, @daily, @midnight, and @hourly as aliases for their equivalent five-field expressions.

Related tools

Useful follow-ups when one conversion usually turns into three more.