Cron Expression Builder
Build, explain, and preview cron schedule expressions in your browser.
Explanation
Next run times
Use this tool from AI agents
This tool's engine is available to AI agents over MCP as explain_cron and validate_cron. Add the Clean.tools server, then your agent can call it directly.
claude mcp add --transport http clean-tools https://mcp.clean.tools/mcpclaude mcp add --transport http clean-tools https://mcp.clean.tools/mcp{"mcpServers":{"clean-tools":{"command":"npx","args":["-y","@clean-tools/mcp"]}}}{"mcpServers":{"clean-tools":{"command":"npx","args":["-y","@clean-tools/mcp"]}}}https://mcp.clean.tools/mcphttps://mcp.clean.tools/mcpOr call it over plain HTTP from any script. Same engine, JSON in and JSON out, no key:
curl -s https://api.clean.tools/v1/explain_cron \
-H 'content-type: application/json' \
-d '{"expression":"*/15 9-17 * * 1-5","count":5}'curl -s https://api.clean.tools/v1/explain_cron \
-H 'content-type: application/json' \
-d '{"expression":"*/15 9-17 * * 1-5","count":5}'const res = await fetch('https://api.clean.tools/v1/explain_cron', {
method: 'POST',
headers: { 'content-type': 'application/json' },
body: JSON.stringify({ expression: '*/15 9-17 * * 1-5', count: 5 })
});
const data = await res.json();const res = await fetch('https://api.clean.tools/v1/explain_cron', {
method: 'POST',
headers: { 'content-type': 'application/json' },
body: JSON.stringify({ expression: '*/15 9-17 * * 1-5', count: 5 })
});
const data = await res.json();How it works
This cron expression builder helps you create and understand cron schedule expressions. Edit the expression directly or use the individual field inputs and presets. The tool explains the schedule in plain English and shows the next run times.
All parsing and date calculations run entirely in your browser. No data is sent to a server. No cost, no signup, no tracking.
Need the same parsing from a script or an AI agent? The explain_cron engine is also available as a cron API and an MCP server, and you can install the @clean-tools/mcp package from npm to run it locally.
Frequently asked questions
Which cron format does this use?
It parses standard 5-field cron: minute, hour, day-of-month, month, and weekday. Seconds, year, and Quartz-style extensions are not supported. Month and weekday names like JAN or MON work, and Sunday can be written as either 0 or 7.
What happens when both day-of-month and weekday are set?
When both fields are restricted (neither is *), cron fires when either matches, not both. For example 0 0 1 * 1 runs on the 1st of the month and on every Monday. The explanation joins the two conditions with "or" to reflect this.
What time zone are the next run times in?
Run times are computed in your device's local time zone using your system clock. Most cron daemons run in the server's local time or UTC, so verify your server setting if the schedule looks shifted.
Why does my expression match nothing?
A day-of-month like 31 will never fire in months with fewer days, and an impossible pairing such as February 30th yields no runs. Out-of-range values, reversed ranges (like 5-1), and steps below 1 are flagged as errors in the explanation panel.
Can I use this from the command line or an AI agent?
Yes. The same cron parser is exposed as a REST endpoint at https://api.clean.tools/v1/explain_cron, so you can POST an expression from any script and get the explanation and next run times back as JSON. It is also an MCP server you can add to Claude, Claude Code, or Cursor so an agent can call it directly. The @clean-tools/mcp npm package runs the same tools as a local stdio server.
Common cron presets
Jump to a ready-made schedule, or browse all cron examples.
More tools from Clean.tools
Use Clean.tools from your AI agent
This tool is also explain_cron on the Clean.tools MCP server — the same engine, callable by your AI agent directly. No key, no signup: requests are processed in memory and request contents are never stored.
claude mcp add --scope user --transport http clean-tools https://mcp.clean.tools/mcpclaude mcp add --scope user --transport http clean-tools https://mcp.clean.tools/mcphttps://mcp.clean.tools/mcphttps://mcp.clean.tools/mcpEvery tool, the REST API, and setup for Cursor, Claude Desktop, VS Code & more →