Build a schedule with simple controls, or paste a cron expression to read it in plain English — with the next run times. Runs entirely in your browser.
A standard cron expression is five fields separated by spaces, each controlling one unit of time:
minute (0–59)hour (0–23)day of month (1–31)month (1–12)day of week (0–6, where 0 and 7 are both Sunday)Read together, 0 9 * * 1-5 means “at 09:00, Monday through Friday.”
* — every value (“every minute”, “every day”)., — a list, e.g. 1,15,30.- — a range, e.g. 1-5 (Mon–Fri)./ — a step, e.g. */15 (every 15 units) or 0-30/10.
When both day-of-month and day-of-week are restricted (neither is *),
classic cron runs the job when either matches — an OR, not an AND. So
0 0 13 * 5 fires on the 13th and every Friday, not just Friday the 13th.
Keep one field as * to avoid surprises.
This tool uses the classic 5-field crontab format used by Linux cron, most CI schedulers, and Vercel Cron. Some systems (Quartz, some Kubernetes setups) add a seconds field for 6 fields.
The preview next-run times are computed in your local timezone for readability. Real cron runs in the server’s timezone — check your platform’s docs (many CI systems default to UTC).
No. Parsing and the next-run preview are computed in your browser, so it works offline.
Scheduling a job that emits JSON? Type it with JSON → TypeScript. Refreshing auth on a schedule? Inspect tokens with the JWT decoder.