Paste one expression, a full crontab line with its command, or the whole output of crontab -l.

Examples

Type a cron expression to see what it means.

    Next runs

      Paste a cron expression and this converter explains it in plain English as you type, breaks down each field, and lists the next times the job will run in your time zone. It reads standard Linux crontab, schedules with seconds from Spring and node-cron, Quartz, and AWS EventBridge, and it can explain an entire crontab file at once. Everything runs in your browser.

      How to read a cron expression

      A standard cron expression has five fields separated by spaces. Each field limits when the job can run, and the job runs at every moment that matches all of them.

      ┌───────── minute (0–59)
      │ ┌─────── hour (0–23)
      │ │ ┌───── day of the month (1–31)
      │ │ │ ┌─── month (1–12 or JAN–DEC)
      │ │ │ │ ┌─ day of the week (0–7 or SUN–SAT, 0 and 7 are Sunday)
      │ │ │ │ │
      * * * * *  command to run

      Special characters

      CharacterMeaningExample
      *Every value* * * * * runs every minute
      ,A list of values0 9,17 * * * runs at 9:00 AM and 5:00 PM
      -A range0 9 * * 1-5 runs at 9:00 AM, Monday through Friday
      /A step*/15 * * * * runs every 15 minutes
      ?No specific value (Quartz and AWS, day fields only)0 0 12 ? * MON
      LLast day of the month, or the last given weekday0 0 L * ? or 0 0 ? * 6L
      WNearest weekday to a date0 0 15W * ?
      #The nth weekday of the month0 0 ? * 2#1 is the first Monday in Quartz

      Common cron schedules

      ExpressionRuns
      */5 * * * *Every 5 minutes
      0 * * * *Every hour, on the hour
      0 0 * * *Every day at midnight (same as @daily)
      30 2 * * *Every day at 2:30 AM
      0 9 * * 1-5At 9:00 AM on weekdays
      */15 9-17 * * 1-5Every 15 minutes during business hours on weekdays
      0 0 * * 0Every Sunday at midnight (same as @weekly)
      0 0 1 * *The first of every month at midnight (same as @monthly)
      0 0 1 1 *Once a year on January 1 (same as @yearly)
      @rebootOnce, each time the system starts

      Cron formats this tool understands

      Linux and Unix crontab

      The five-field format used by cron, cronie, and Vixie cron on Linux, macOS, and BSD, plus GitHub Actions, Kubernetes CronJobs, and most hosting control panels. Weekdays run 0 to 7, where both 0 and 7 mean Sunday. Shortcuts like @daily and @hourly work too.

      Schedules with seconds

      Spring's @Scheduled, node-cron, and many job libraries add a seconds field at the start, giving six fields. Weekdays still run 0 to 7.

      Quartz

      Java's Quartz scheduler uses six or seven fields: seconds, minutes, hours, day of month, month, day of week, and an optional year. Weekdays run 1 to 7 with Sunday as 1, and one of the two day fields must be ?. Quartz adds L, W, and #.

      AWS EventBridge

      EventBridge and CloudWatch schedules use six fields with no seconds: minutes, hours, day of month, month, day of week, and year. Weekdays run 1 to 7 with Sunday as 1, and EventBridge evaluates them in UTC unless the schedule sets a time zone.

      When both day fields are set

      In standard cron, if you restrict both the day of the month and the day of the week, the job runs when either one matches, not both. For example, 0 0 13 * 5 runs on the 13th of every month and also on every Friday, not only on Friday the 13th. The converter flags this whenever it applies.

      Frequently asked questions

      What time zone does cron use?

      Cron uses the time zone of the server it runs on, which is often UTC. Some versions read a CRON_TZ or TZ line at the top of the crontab. Pick the server's time zone above to see the next runs the way the server will see them.

      What does */5 mean in cron?

      It means every 5th value of that field, starting from the lowest. In the minute field, */5 runs at minutes 0, 5, 10, and so on, which is every 5 minutes. In the hour field, */2 runs every 2 hours starting at midnight.

      Is 0 or 7 Sunday in cron?

      In Linux crontab both 0 and 7 mean Sunday, and 1 is Monday. Quartz and AWS EventBridge count differently: 1 is Sunday and 7 is Saturday. Choose the format above if your expression comes from one of those.

      How do I run a cron job every 30 seconds?

      Standard cron can't go below one minute. Either use a scheduler with a seconds field, such as */30 * * * * * in node-cron or Spring, or add two crontab lines for the same command, the second one starting with sleep 30.

      Why does my cron job run on extra days?

      If both the day of month and day of week fields are set, standard cron runs the job when either one matches. Set one of them to * to make the other one control the days.

      Can I paste my whole crontab?

      Yes. Paste the output of crontab -l and every job is listed with its schedule in plain English, its command, and its next run. Comments are skipped, and variables like MAILTO and CRON_TZ are listed separately. Turn on Lines include a user for /etc/crontab and files in /etc/cron.d.

      Is my crontab sent anywhere?

      No. Expressions are parsed by JavaScript in your browser, so commands, paths, and server names in your crontab never leave your device.

      Our Full Dev Tool Library

      Flipper File