Describe your schedule in plain English — every weekday at 9am, every 15 minutes, at midnight on the first of january — and get the exact cron expression, a plain-English double-check, the next 5 run times, and one-click copy. Free, no signup, 100% client-side.
Free-form sentences, not form fields: this tool parses sentences you type into cron expressions.
Prefer structured controls? Use our Crontab Generator (presets + per-field builder).
Already have an expression? Decode it into plain English instead.
Describe your schedule
Tip: include AM/PM — “every day at 9” will ask you to clarify rather than guess.
Cron expression
Equivalent 5-field expression:
Round-trip check — does this match what you meant?Next 5 run times
What you can type
You type
You get
Meaning
every 15 minutes
*/15 * * * *
Every 15 minutes.
every 2 hours
0 */2 * * *
At minute 0 of every 2 hours.
daily at 6:30pm
30 18 * * *
At 18:30 every day.
every weekday at 9am
0 9 * * 1-5
At 09:00, Monday to Friday.
every monday at 3pm
0 15 * * 1
At 15:00, Monday.
on the 1st and 15th at 8am
0 8 1,15 * *
At 08:00 on days 1 and 15 of the month.
every december at 9am
0 9 * 12 *
At 09:00 every day in December.
quarterly
0 0 1 */3 *
At 00:00 on day 1 of the month, every 3 months.
on reboot
@reboot
Runs once at system startup.
What this tool honestly won’t do
Seconds — cron’s finest granularity is one minute. “Every 30 seconds” can’t be expressed.
“Every 2 weeks” / “every other Friday” — cron has no week counter. Workaround: run weekly and check the week number inside your script.
“Last day of month” — standard cron has no L (Quartz does). Workaround: schedule on the 28th–31st and exit early unless tomorrow is the 1st.
“First Monday of the month” — when both day-of-month and day-of-week are restricted, cron fires when EITHER matches, not both. Workaround: run every Monday and check the date in your script.
Pairing different minutes with different hours — “at 9:15am and 10:30am” in one line would also fire at 9:30 and 10:15. Use two crontab lines.
When your sentence hits one of these limits, the tool says so instead of inventing a wrong expression. Ambiguous sentences (“every day at 9”, “twice a day”, “biweekly”) get a clarification question with one-click suggestions.
Worked examples
Next runs computed from Sat, 10 Oct 2026 00:00 UTC.
You type
Cron expression
Round-trip check
Next 3 runs (UTC)
every weekday at 9am
0 9 * * 1-5
At 09:00, Monday to Friday.
Mon, 12 Oct 2026, 09:00 UTC Tue, 13 Oct 2026, 09:00 UTC Wed, 14 Oct 2026, 09:00 UTC
every 15 minutes
*/15 * * * *
Every 15 minutes.
Sat, 10 Oct 2026, 00:15 UTC Sat, 10 Oct 2026, 00:30 UTC Sat, 10 Oct 2026, 00:45 UTC
at midnight on the first of january
@yearly
At 00:00 on day 1 of the month, in January.
Fri, 1 Jan 2027, 00:00 UTC Sat, 1 Jan 2028, 00:00 UTC Mon, 1 Jan 2029, 00:00 UTC
on the 1st and 15th at 8am
0 8 1,15 * *
At 08:00 on days 1 and 15 of the month.
Thu, 15 Oct 2026, 08:00 UTC Sun, 1 Nov 2026, 08:00 UTC Sun, 15 Nov 2026, 08:00 UTC
twice a day at 9am and 6pm
0 9,18 * * *
At 09:00 and 18:00 every day.
Sat, 10 Oct 2026, 09:00 UTC Sat, 10 Oct 2026, 18:00 UTC Sun, 11 Oct 2026, 09:00 UTC
every 2 hours
0 */2 * * *
At minute 0 of every 2 hours.
Sat, 10 Oct 2026, 02:00 UTC Sat, 10 Oct 2026, 04:00 UTC Sat, 10 Oct 2026, 06:00 UTC
Frequently asked questions
Type a schedule in plain English — for example “every weekday at 9am” — and this tool converts it into a ready-to-paste cron expression. Unlike our Crontab Generator, which builds the expression from structured field controls and presets, this tool accepts free-form sentences: “every 15 minutes”, “on the 1st and 15th at 8am”, “at midnight on the first of january”.
Intervals (“every 5 minutes”, “every 2 hours”, “every 3 days”), daily, weekly, monthly or yearly with a time (“daily at 6:30pm”), weekdays and weekends (“every weekday at 9am”), named days (“every monday, wednesday and friday at 10am”), dates (“on the 1st and 15th at 8am”), months (“every december at 9am”), quarterly, and the special strings @reboot, @daily, @weekly, @monthly and @yearly. If a sentence is ambiguous — “every day at 9” — the tool asks whether you mean AM or PM instead of guessing.
You get a clarification question with one-click suggestions, never a silent guess. “Twice a day” asks which two times; “biweekly” asks whether you mean twice a week or every two weeks. AI-based generators sometimes hallucinate a plausible-but-wrong expression; this parser is deterministic — when it is not sure, it says so.
Several common ones: anything in seconds (cron's finest granularity is one minute); “every 2 weeks” (cron has no week counter); “last day of month” (standard cron has no L — Quartz does); “first monday of the month” (when both day-of-month and day-of-week are restricted, cron fires when EITHER matches, not both); and pairing different minutes with different hours in one line (“at 9:15am and 10:30am” as one line would also fire at 9:30 and 10:15 — use two crontab lines). The tool tells you this honestly instead of producing a wrong expression.
That is the round-trip proof. After converting your sentence to cron, the tool decodes the expression back into plain English (“At 09:00, Monday to Friday.”) so you can verify it captured your intent before pasting it into a crontab. Silent cron mistakes are the worst kind — a job that never runs produces no error at all.
Direction and input style. Text to Cron goes from free-form English to a cron expression. The Crontab Generator also produces expressions, but from structured field-by-field controls and presets — better when you already think in cron fields. The Cron Expression Explainer goes the opposite direction: paste an existing expression to decode it, validate it, and check DST behavior. Use this tool to draft from words, the generator to build precisely, the explainer to audit.
Your browser's local timezone — the same convention cron itself uses (cron daemons evaluate schedules in the server's local time). If your server is in a different timezone, the wall-clock times will differ; always double-check against the server clock for time-critical jobs.
No. Everything — parsing, the plain-English check, and the next-run calculation — runs in your browser with JavaScript. No account, no network requests, nothing that could leak your job schedules.
Related tools
Crontab Generator — build cron schedules from structured controls and presets instead of sentences.
Cron to Quartz — translate a 5-field Unix expression to Quartz format.
Quartz to Cron — translate Quartz back to the 5-field Unix format.
Privacy: everything on this page — parsing, the plain-English check, next-run math — runs in your browser. No account, no cookies for the tool, no network requests.
We use cookies and third-party services (including Google AdSense) to personalize content, analyze traffic, and serve relevant ads. By clicking "Accept", you consent to our use of cookies as described in our Privacy Policy.
Report an issue
2 taps, no typing needed — diagnostics are sent automatically.