Explain cron expressions in plain English and preview the next runs. All client-side.
A free, in-browser cron expression builder that translates any cron schedule into plain English and previews the next ten runs. Paste a 5-field cron (minute hour day month weekday) or flip on seconds for a 6-field expression, and the tool instantly shows a human-readable description plus the upcoming trigger times in your local timezone. All parsing runs locally using cronstrue and cron-parser — your expressions never leave your device.
Enter a cron expression
Type or paste a standard cron string like '0 9 * * 1-5'. Leave the default to see the tool in action.
Pick a preset if you need a starting point
Use the preset buttons for common schedules: every minute, every hour, every day at 9am, every weekday, every Monday, or the first of every month.
Toggle seconds if your scheduler supports 6 fields
Quartz, Spring, and some cron runners accept a seconds field. Flip the toggle to switch between 5-field and 6-field mode.
Review the plain English description
The human-readable summary updates live as you type. If the expression is invalid you'll see an error explaining why.
Check the next 10 runs
The preview lists the upcoming trigger times in your local timezone along with a relative 'in X minutes/hours' label so you can sanity-check the schedule.
No. All parsing, description, and run previews happen locally in your browser using cronstrue and cron-parser. Nothing is uploaded.
Standard Unix cron uses 5 fields: minute, hour, day-of-month, month, day-of-week. Schedulers like Quartz and Spring add a leading seconds field for 6 fields total. Toggle 'Include seconds' to switch modes.
The preview uses your browser's local timezone, which is displayed above the list. Cron expressions themselves are timezone-agnostic — your scheduler decides which timezone to run them in.
Yes. cron-parser accepts predefined expressions such as @yearly, @monthly, @weekly, @daily, and @hourly, and cronstrue will describe them in plain English too.
The expression either has the wrong number of fields for the selected mode, or contains values outside a field's allowed range (for example, a 60 in the minute field). Double-check each field and make sure you match 5 vs 6 fields to the mode.