Crontab Guru — edit each cron field and see what it means

Type the five crontab fields into their own boxes and the tool explains the schedule in plain English, shows what each field means and its allowed range, and lists the next five run times from a start date you choose, in any of 61 time zones.

Live demo · real result from this tool

Your result appears here.

Processed on your device — nothing is uploaded.

How to use Crontab Guru

  1. Fill in Minute, Hour, Day of month, Month and Day of week. Each box takes one cron field, such as 5, */15, 9-17 or MON-FRI.
  2. Choose the Time zone your cron daemon runs in.
  3. Set Starting from to the moment you want the run list to begin. Leave it as is for now.
  4. Read the plain-English Schedule, the warnings, the Fields table and the next five runs, shown in your zone, in UTC and as a distance from the start.

What it does and when to use it

When a cron job fires at the wrong time, the fault is usually one field: an hour in UTC rather than local time, a day-of-month that should have been *, or a minute left as * that makes the job run 60 times an hour. With one box per field you can change a single value and watch the meaning and the run list change. Use it to review a crontab before a deploy or to check a daylight-saving change.

To build a line from menus instead, use the Cron Generator. For 6-field expressions and macros, use the Cron Parser.

How it works

The five boxes are joined into one POSIX-style line and checked by the cron-parser library, which also steps through the next matches in the chosen time zone. The cronstrue library writes the English sentence. Two checks add warnings: a * minute field, and day-of-month and day-of-week both being restricted, which cron treats as “either one matches”. Everything runs in your browser.

Symbol Meaning Example
* every value * in Hour = every hour
, list 1,15 in Day of month
- range 9-17 in Hour
/ step */10 in Minute, 0-30/10
L last day (not in every cron) L in Day of month

Worked examples

Daily at 04:05. Fields 5 4 * * * from 2 October 2026 give Schedule: At 04:05 and one run in the next 24 hours, at 2026-10-02 04:05:00.

A London job across the clock change. 0 22 * * 1-5, time zone Europe/London, starting 23 October 2026:

1 | 2026-10-23 22:00:00 | 2026-10-23T21:00:00Z
2 | 2026-10-26 22:00:00 | 2026-10-26T22:00:00Z

The local time stays at 22:00 but the UTC time moves by an hour after British Summer Time ends on 25 October.

Last day of the month. 0 9 L * * lists 31 October through to 2027-02-28 09:00:00. Vixie cron, common on Linux, does not support L, so check your scheduler first.

A common mistake. * */6 * * * reports 240 runs in the next 24 hours and a warning: the minute field * fires every minute of hours 0, 6, 12 and 18. Use 0 */6 * * * for four runs a day.

Limits and tips

  • Out-of-range values give an error such as “got value 25 expected range 0-23”.
  • Times in the list come from the browser’s time zone data, not from your server. Check the server zone with date or timedatectl.
  • For one-off date maths around a run, use the Unix timestamp converter.

Frequently asked questions

What happens if I leave a field empty?
An empty box is treated as *, which means every value of that field. The Expression line at the top always shows the full five-field line that was checked.
Is Sunday 0 or 7?
Both. The day-of-week field accepts 0–7, where 0 and 7 are Sunday, and the names SUN to SAT. 1-5 is Monday to Friday.
Why did my job run at a different UTC time after the clocks changed?
Cron fires on the local wall clock of the zone it runs in. A job at 22:00 London time is 21:00 UTC in summer and 22:00 UTC in winter. Pick the zone your server uses to see this in the run list.
Can I paste a whole line instead?
This page wants one field per box. To paste a full expression, a 6-field line with seconds or a macro such as @daily, use the Cron Parser.

Written by the ToolsRift team · Last updated

Pages are drafted with AI assistance and checked by automated tests. How we write and check pages.

Was this tool useful?

Report a problem

Start typing to search every tool.

↑ ↓ to moveEnter to openEsc to close