Skip to main content

Text to Cron

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.

What you can type

You typeYou getMeaning
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 typeCron expressionRound-trip checkNext 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.
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.

Free tool by NRTechStudio