Search tools

Cron Expression Generator

Write a cron schedule, read it in plain English and see when it runs next.

Runs entirely in your browser. Nothing you paste is sent to our server, stored or logged.

Five fields: minute, hour, day of month, month and day of week. Shortcuts such as @daily work too.

Start from a common schedule

In plain English

Field by field

FieldValue Means

Next runs

    Crontab line

    Paste it into crontab -e. The schedule runs on the server's clock.

    Type a cron expression or start from a common schedule. The tool explains it in plain English, checks every field and lists the next times it will run, in your own time zone and in UTC. It follows standard Unix cron, the five field format used by crontab, Linux servers, Kubernetes CronJobs and GitHub Actions.

    How to read a cron expression

    A cron expression is five fields separated by spaces: minute, hour, day of the month, month and day of the week. An asterisk means every value, so * * * * * runs every minute. A number pins a field, so 30 9 * * * runs at 9:30 every morning. Commas list values, a dash between two numbers gives a range, and a slash sets a step, which is how */15 in the minute field becomes every fifteen minutes.

    The day of month and day of week trap

    When both day fields are restricted, cron runs the job if either one matches, not both. 0 9 1 * 1 fires on the first of every month and also on every Monday, which surprises almost everyone the first time. Standard cron cannot say "the first Monday of the month" directly. The usual fix is to run on days 1 to 7 and let the script check the weekday before doing anything.

    Time zones and daylight saving

    Cron runs on the clock of the machine it lives on, and servers and CI runners are usually set to UTC. A job set for 9:00 fires at 9:00 server time, wherever you happen to be. Jobs scheduled between 1:00 and 3:00 in a zone with daylight saving can run twice or not at all when the clocks change, so keep important daily jobs outside that window or run the server on UTC.

    How to use the cron generator

    1. Enter or pick a scheduleType a five field expression, or choose one of the common schedules to start from.
    2. Read the explanationThe plain English summary and the field breakdown show what every part means.
    3. Check the next runsThe next runs are listed in your local time zone, with a switch to show UTC.
    4. Copy itCopy the expression on its own, or as a crontab line with your command on the end.

    Common questions

    What does */5 mean in cron?

    It means every fifth value, counted from the start of the field. In the minute field it runs at minutes 0, 5, 10 and so on up to 55, so the job lines up with the clock rather than with the moment you saved the crontab.

    Does cron support seconds?

    Standard cron does not; the smallest unit is one minute. Schedulers such as Quartz and Spring add a seconds field at the front, which is why you sometimes see six or seven fields. This tool follows the five field standard used by crontab, Kubernetes and GitHub Actions.

    Why did my cron job run on the wrong day?

    Usually because both day fields were set. When the day of the month and the day of the week are both restricted, cron runs when either one matches. The other common cause is time zones: the server runs on UTC while you read the schedule in local time.

    How do I run a cron job every 30 seconds?

    Cron cannot go below one minute. The common workaround is two entries for the same command, one plain and one that sleeps for 30 seconds first. For anything that needs to run that often, a small service with its own loop or a systemd timer is usually the better tool.

    What do @daily and @hourly mean?

    They are named shortcuts. @hourly is 0 * * * *, @daily and @midnight are 0 0 * * *, @weekly is 0 0 * * 0, @monthly is 0 0 1 * * and @yearly or @annually is 0 0 1 1 *. @reboot runs once when the cron service starts, so it has no next run time.

    Is my schedule sent anywhere?

    No. The expression is parsed and the run times are calculated by JavaScript in your browser. Nothing you type is sent to our server or stored.

    Guides