CronTool
Cron expression editor & debugger

Cron Builder — build cron expressions from scratch

Compose any cron expression from a clear input grid. CronTool's builder gives you a labelled box per field — minute, hour, day-of-month, month, day-of-week — with examples and hints, plus a live calendar that previews the next 30+ runs as you type.
Building from scratch beats memorising syntax. Start with a wildcard in every field (every minute) and narrow down: pick a minute, then an hour, then a day pattern. The natural-language description and calendar update instantly so you can verify before you commit.

Examples

  • 018***
    Every day at 18:00
  • 0*/5***
    Every 5 hours
  • 018**1-5
    Weekdays at 18:00
  • 001**
    Once a month

Cheatsheet

FieldRequiredValues RangeWildcardsminuteYes0-59, - * / hourYes0-59, - * / day of monthYes1-31, - * / L W monthYes1-12, - * /day of weekYes0-7, - * / L

Calendar

View future cron matches in a calendar

April 2026

Showing next 1000 cron schedules

Loading...

Build a cron expression step-by-step

  1. Pick the cadence. Once a minute? Once an hour? Once a day? Once a month? That decides which fields stay * and which carry a value.
  2. Fill the smallest unit first. If your job runs “every day at 09:00”, the minute is 0 and the hour is 9. Day-of-month, month and day-of-week stay *.
  3. Add restrictions. Need weekdays only? Day-of-week becomes 1-5 (Mon-Fri). Need the 1st and 15th of every month? Day-of-month becomes 1,15.
  4. Use steps for “every N”. */15 in the minute field is “every 15 minutes”. */2 in the hour field is “every 2 hours”.
  5. Verify on the calendar. The calendar above shows your next runs as you type. Wrong? Tweak. Right? Copy.

Cron field cheatsheet

  • Minute (0-59): the moment within the hour.
  • Hour (0-23): 0 is midnight, 23 is 11 PM.
  • Day of month (1-31): leave as * unless you need a specific date.
  • Month (1-12 or JAN-DEC): rarely set; leave * for “every month”.
  • Day of week (0-7 or SUN-SAT): 0 and 7 are Sunday. 1-5 is Mon-Fri.
  • Wildcards: * any, 1,3 list, 1-5 range, */5 step.

Common cron expressions to copy

  • Every minute: * * * * *
  • Every 5 minutes: */5 * * * *
  • Every 15 minutes: */15 * * * *
  • Every hour: 0 * * * *
  • Every day at midnight: 0 0 * * *
  • Every weekday at 09:00: 0 9 * * 1-5
  • Every Monday at 07:00: 0 7 * * 1
  • Last day of every month: 0 0 L * * (Quartz / AWS / robfig)
  • Every 2 hours during business hours: 0 9-17/2 * * 1-5

Frequently asked questions

How do I build a cron expression from scratch?

Decide the smallest cadence (minute? hour? day?), then fill in each field from left to right. Minute, hour, day-of-month, month, day-of-week. Use a wildcard `*` for any value you don't care about, a literal for a specific time, a list for a few, a range for a sequence, and a step for every Nth. CronTool's builder gives you input boxes for each field with hints, so you can click your way to the right expression.

What's a good first cron expression to learn from?

`0 9 * * 1-5` — at 09:00 every weekday. It uses a literal (`0` minute, `9` hour), a wildcard (any day-of-month, any month), and a range (`1-5` for Mon-Fri). Read that one until it clicks, then everything else is variation on the same theme.

How do I build a cron that runs every N minutes?

Use the step syntax in the minute field: `*/N * * * *`. So every 5 minutes is `*/5 * * * *`, every 10 is `*/10 * * * *`, every 15 is `*/15 * * * *`. CronTool's builder accepts step syntax in any field — use `0 */2 * * *` for every 2 hours, etc.

How do I build a more complex cron schedule?

Combine list, range and step in the same field. `0 9-17/2 * * 1-5` runs at the top of the hour, every 2 hours from 09:00 to 17:00, on weekdays. For schedules a single cron can't express (e.g. 'every 15 min except 03:00'), use multiple cron lines — see the multi-cron visualizer.

Can I test the cron as I build it?

Yes — every keystroke updates the calendar of next runs and the natural-language description below the input grid. If a field is invalid you'll see it highlighted in red with the parser error. Tweak until the calendar matches your intent.

How do I build cron expressions for AWS, Vercel or Quartz?

Toggle the extended-cron switch in the top bar to enable seconds and year fields. AWS EventBridge requires `?` in either day-of-month or day-of-week — the builder warns you. Vercel uses standard 5-field syntax (UTC). Quartz uses 6-7 fields with optional seconds and year. The builder validates against the dialect you select.

Ready to schedule it?

Point Crontap at any URL. Pick any cron. Done.

WordPress, Shopify, Railway, Cloud Run, Vercel, HubSpot, Ghost, your own box. If it answers HTTP, Crontap can drive it on a clock you can read, in the timezone that actually matters, and page you when something breaks.

Free forever tier ・ No credit card required

Your next schedule
GET/wp-cron.php?doing_wp_cron=1

Schedule

every 5 minutes

Next run

in 23s

Apihustle Logo

This tool is part of the Apihustle suite - a collection of tools to test, improve and get to know your API inside and out.

  • Clobbr logo

    Clobbr

    The app & CLI tool to test API endpoint speed.

    Visit
  • Crontap logo

    Crontap

    Schedule recurring API calls using cron syntax.

    Visit
  • CronTool logo

    CronTool

    Debug multiple cron expressions on a calendar.

    Visit

  • Page AI

    AI Website Generator that designs and writes clean code.

    Visit
  • Shipixen

    Generate customized boilerplates in minutes.

    Visit
  • Page UI

    Landing page UI components for React & Next.js

    Visit