Every 4 Hours cron expression
The cron expression 0 */4 * * * schedules a job at minute 0 past every 4 hours. Edit it below and preview the next run times.
Explanation
At minute 0 past every 4 hours
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();The every 4 hours cron expression
The cron expression 0 */4 * * * runs a job at minute 0 past every 4 hours. Six evenly spaced runs a day is common for rotating logs or refreshing tokens. The builder above explains the schedule in plain English and previews the next five run times, and every field stays editable so you can adjust it.
Read left to right, the five fields are minute 0, hour */4, day-of-month *, month *, weekday *. A * means every value, */n means every nth value, a range uses a hyphen, and a list uses commas. All parsing runs in your browser with no data sent anywhere.
Frequently asked questions
What does 0 */4 * * * mean?
At minute 0 past every 4 hours. In a standard 5-field cron expression the fields are minute, hour, day of month, month, and weekday, so 0 */4 * * * matches minute 0, hour */4, day-of-month *, month *, weekday *.
When does it run next?
The preview above lists the next five times 0 */4 * * * will fire, computed in your device's local time zone. Most cron daemons run in the server's local time or UTC, so check your server setting if the times look shifted.
Can I use this from the command line or an AI agent?
Yes. The same parser is 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 as JSON. It is also an MCP server you can add to Claude, Claude Code, or Cursor, and the @clean-tools/mcp npm package runs it as a local stdio server.
Common cron examples
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 →