CronSpell
Type a cron expression to check it, read it in plain English and see when it runs next in your time zone. Daylight saving time is handled: skipped and repeated local times are flagged. Nothing you type is stored.
Syntax and rules
5 fields (minute hour day-of-month month day-of-week) or 6 with a leading seconds field. Each field: *, a value, a range a-b, a list a,b, steps */n, a-b/n, a/n; ? in the day fields means *. Month names JAN-DEC and weekday names SUN-SAT (case-insensitive); weekday 0 and 7 are Sunday. Shorthands: @yearly @annually @monthly @weekly @daily @midnight @hourly. If day-of-month and day-of-week are both restricted, a day matches when either matches (classic cron OR rule). Not supported: Quartz L, W and #, 7-field expressions with a year, @reboot, wrap-around ranges such as FRI-MON.
Schedules are read as wall-clock times in the time zone you pass (default UTC). A local time skipped when clocks jump forward does not run (a note says so), and a local time that happens twice when clocks go back is listed twice, each flagged dst "repeated". Cron daemons differ here (cronie, for example, runs fixed-time jobs from a skipped hour right after the jump and only once in a repeated hour), so check the notes.
JSON API
curl -s 'https://cronspell.mike-tusa.workers.dev/api/next?expr=0+9+*+*+1-5&tz=America/Denver&count=5'
curl -s 'https://cronspell.mike-tusa.workers.dev/api/explain?expr=*/15+9-17+*+*+MON-FRI'
Routes: /api/validate, /api/explain, /api/next, /api/previous (up to 20 runs) and /api/between (up to 100 runs). No key needed: about 60 requests per minute per IP. OpenAPI 3.1 spec
For AI agents
CronSpell is also a remote Model Context Protocol (MCP) server with four read-only tools: validate_cron, explain_cron, next_cron_runs and cron_runs_between. Works with AI agents and assistants that can call an MCP server or a JSON API, for example Muse, Claude, ChatGPT or Cursor (descriptive only). Most MCP clients accept this config; some use a different format (for example, VS Code uses a servers key). Clients with a settings screen just need the URL https://cronspell.mike-tusa.workers.dev/mcp.
{ "mcpServers": { "cronspell": { "type": "http", "url": "https://cronspell.mike-tusa.workers.dev/mcp" } } }
Machine-readable docs: llms.txt · OpenAPI 3.1 spec · MCP server card. CronSpell is not affiliated with, endorsed by or sponsored by Meta, Anthropic, OpenAI, Anysphere or any cron software project.
Privacy
Cron expressions you submit are processed in memory and discarded when the response is sent. They are never written to storage, logs or analytics, and CronSpell makes no network requests. Time zone names come from the IANA time zone database. Full privacy notice.