Date Calculator
Add days, weeks or months to a date, or count the gap between two dates.
Build a cron schedule and read back what it means.
Cron Expression Generator works in both directions. Describe a schedule using the form, and it writes the expression. Paste an expression you inherited, and it tells you in plain English what it does and when it will next run.
The second direction is the one people need most. Cron syntax is five fields of terse punctuation, and the difference between a job that runs every fifteen minutes and one that runs once at quarter past the hour is a single character. Seeing the next five run times listed removes the guesswork entirely.
The tool covers standard cron syntax: lists, ranges, steps and wildcards in each field, plus the named shorthands such as @daily and @weekly. It also notes the behaviour that catches everyone out: when both day-of-month and day-of-week are restricted, cron runs the job if either matches, not both.
The cron expression generator is used by writers, developers, students, marketers and anyone else who needs the job done once without installing software. Common cases include:
Minute, hour, day of month, month and day of week, in that order. Each accepts a number, a list separated by commas, a range with a hyphen, a step with a slash, or an asterisk meaning every value.
When both are restricted, cron runs the job if either one matches, not both. An expression meaning the 1st of the month and also every Monday runs far more often than most people intend.
A slash sets an interval. In the minute field, */15 means every fifteen minutes, starting at zero. It is not the same as 15, which means at quarter past the hour only.
The server's local time, unless the crontab sets a timezone variable. This is a frequent source of jobs running an hour out after a daylight saving change, and of jobs running twice or not at all on the changeover day.
Standard cron has no seconds field. Some schedulers, including Quartz and several cloud services, add a sixth field at the front for seconds. The tool uses the standard five.
Shorthands for common schedules. @daily is midnight every day, @hourly the top of every hour, and @reboot runs once when the system starts, which is a different thing from a schedule entirely.
If the cron expression generator is not quite what you need, these other free tools solve closely related problems.
Add days, weeks or months to a date, or count the gap between two dates.
Translate between Unix time and human-readable dates in both directions.
Translate between YAML and JSON, with clear errors on invalid indentation.
The current epoch time in seconds and milliseconds, updating every second.
Time anything with a lap stopwatch, or count down with an audible alarm.