Free tools

Cron expression generator, in plain English

Say how often a job should run and get the cron expression, or paste one and read what it means. See exactly when it will run next, in your time and in UTC.

At 9:00 AM, on weekdays (Monday to Friday)

Next 10 runs

Your time (your zone) · UTC

    The next 7 days, in your time

      Pick it in plain words

      Everyminutes
      Everyhours, at minute
      Onday
      At
      That time is in

      Or paste a cron expression

      Five parts: minute, hour, day of the month, month, day of the week. Try:

      Copy the code for your platform

      More free tools

      How it works

      1. Pick how often the job should run in plain words, like “every week on Monday at 9:00”. Or paste a cron expression you found in your code, and read what it means in plain English.
      2. Check the next 10 run times. Each one shows your own time and UTC, because Vercel, GitHub Actions and Cloudflare run cron in UTC. If you picked the time in your own time zone, the tool turns it into UTC for you.
      3. Copy the ready code for vercel.json, a GitHub Actions workflow, Supabase pg_cron or Cloudflare Cron Triggers. Or copy a prompt that asks your AI coding agent to set the job up.

      Questions

      What is a cron expression?

      Five parts with spaces between them: minute, hour, day of the month, month, day of the week. A star means “every”. So 0 9 * * 1-5 means minute 0, hour 9, any day of the month, any month, Monday to Friday: 9:00 every weekday.

      Why does my cron job run at the wrong time?

      Almost always time zones. Vercel Cron, GitHub Actions and Cloudflare Cron Triggers read the schedule in UTC, not your local time. Supabase pg_cron uses UTC too unless you changed cron.timezone. Pick “my time zone” above and the tool converts it for you.

      How often can a cron job run?

      Cron can go down to every minute. GitHub Actions allows at most every 5 minutes and can start late when busy. On Vercel’s free Hobby plan a cron job runs at most once a day; more often needs the Pro plan.

      What do */5, 1-5 and 1,15 mean?

      */5 is “every 5th”, so */5 in the minute spot runs every 5 minutes. 1-5 is a range (Monday to Friday in the day-of-week spot). 1,15 is a list (the 1st and the 15th).

      What if I set both a day of the month and a day of the week?

      Cron then runs on days that match either one. 0 0 1 * 1 runs on the 1st of each month and also every Monday, not only on Mondays that fall on the 1st. The tool warns you when this happens.

      Does it work with 6-part expressions with seconds?

      Those come from Spring and Quartz. Vercel, GitHub, Supabase and Cloudflare use 5 parts, so the tool tells you to drop the seconds. Shortcuts like @daily and @hourly are understood.

      Is anything uploaded?

      No. Everything runs in your browser.