Cron Expression Builder & Explainer

Build a cron schedule, or paste one in to see what it means.

Build a cron expression

Explain a cron expression

What does this tool do?

A cron expression is five space-separated fields (minute, hour, day of month, month, and day of week) that describe when a scheduled job should run. This tool works both directions: build one from a preset or from individual fields, or paste an existing expression in to get a plain breakdown of each field plus a list of the next times it would actually fire.

How to use this tool

To build a schedule, click a preset for common cases, or fill in the five fields yourself (* means "every") and click Build Expression, which fills the expression field below. To explain any expression, paste or type it into that field and click Explain. Supports the usual cron syntax: * (every value), */n (every n units), ranges like 1-5, lists like 1,3,5, and combinations like */15 with a range. Everything runs locally in your browser; nothing is uploaded anywhere.

Common use cases

  • Writing a Laravel scheduled task or crontab entry without misremembering field order.
  • Checking exactly when an existing cron job will actually next run, before it surprises you.
  • Building a schedule for a recurring backup, report, or cleanup job.
  • Understanding a cron expression someone else wrote before changing it.

Frequently asked questions

What order are the five fields in?

Minute, hour, day of month, month, day of week, in that order, left to right. Mixing up the order is one of the most common cron mistakes.

What happens if I set both day of month and day of week?

Standard cron treats them as an OR when both are restricted (not *): the job runs if either condition matches. For example, 0 0 1 * 1 runs at midnight on the 1st of the month AND every Monday, not only when both happen to align.

What does */15 mean?

A step value: "every 15 units starting from the field's minimum." In the minute field, */15 matches minutes 0, 15, 30, and 45.

Does this account for my timezone?

Next-run times are calculated using your browser's local timezone. Keep in mind that many servers and job schedulers run in UTC by default, so double-check what timezone your actual cron daemon uses.