All tools
Free DevOps tool

Cron Expression Translator

Explain any cron expression in plain English and get the exact equivalent for Linux, Kubernetes, GitHub Actions, Cloud Scheduler, AWS EventBridge, Quartz, Spring, Azure Functions and Vercel — with the next runs, daylight-saving traps and platform gotchas.

Runs 100% in your browser. Nothing you type is uploaded or stored.

Time zone
Try
What it means

At 02:30, on Monday through Friday

Linux crontabUTC

Next runs

Gotchas

No surprises found for this schedule.

Every platform

Same schedule, translated. Names are used for weekdays where numbering differs between platforms.

Linux crontab

Ready
30 2 * * 1-5
  • Runs in the server's local time. CRON_TZ works on cronie (RHEL, Fedora, Arch, Alpine) — not on Debian/Ubuntu cron.
Config snippet

Kubernetes CronJob

Ready
30 2 * * 1-5
  • Without .spec.timeZone the kube-controller-manager's local zone is used (usually UTC).
Config snippet

GitHub Actions

Ready
30 2 * * 1-5
  • Runs only on the default branch; public repos disable schedules after 60 days without activity.
Config snippet

Google Cloud Scheduler

Ready
30 2 * * 1-5
Config snippet

AWS EventBridge Scheduler

Ready
cron(30 2 ? * MON-FRI *)
  • Day names (MON-FRI) used on purpose — here 1 = Sunday, so "1-5" would mean Sunday–Thursday.
Config snippet

Quartz

Ready
0 30 2 ? * MON-FRI
  • Day names (MON-FRI) used on purpose — here 1 = Sunday, so "1-5" would mean Sunday–Thursday.
Config snippet

Spring @Scheduled

Ready
0 30 2 * * MON-FRI
Config snippet

Azure Functions

Ready
0 30 2 * * 1-5
  • WEBSITE_TIME_ZONE is not supported on Linux Consumption / Flex Consumption — use the UTC line there.
Config snippet

Vercel Cron

Ready
30 2 * * 1-5
  • On Vercel Hobby the job fires somewhere within that hour (±59 min).
Config snippet

What this tool catches

  • Day-of-week off-by-one between Unix (1 = Monday) and Quartz/AWS (1 = Sunday)
  • The Unix OR rule when both day-of-month and day-of-week are set
  • Runs that fall into the daylight-saving gap or happen twice on fall-back
  • UTC-only platforms (Vercel, Azure Linux Consumption) and the hour they drift after DST
  • Platform limits: GitHub’s 5-minute floor, Vercel Hobby’s once-a-day cap, missing seconds/year fields
  • Steps that don’t divide evenly (*/7) and dates that never exist (30 February)

Common questions

Why does 1-5 mean Monday–Friday in Linux but Sunday–Thursday in AWS?

Unix cron numbers weekdays 0–6 starting with Sunday, so 1 is Monday. Quartz and AWS EventBridge number them 1–7 starting with Sunday, so 1 is Sunday and 1-5 is Sunday through Thursday. Copying the digits across is the most common cron migration bug. Use day names (MON-FRI) — every platform except Vercel accepts them and they mean the same everywhere.

What happens to a 02:30 job when the clocks change?

In spring 02:00–02:59 does not exist in most European and US zones, and in autumn it happens twice. Platforms disagree: AWS EventBridge Scheduler skips the spring run and runs once in autumn, GitHub Actions moves the spring run to the next valid time, Vixie/cronie run it right after the jump, and Cloud Scheduler warns that runs “might observe anomalies”. If a job must run exactly once a day, schedule it outside 01:00–03:00 local time or use UTC.

Why does "0 9 1 * MON" run on more days than I expected?

When both day-of-month and day-of-week are restricted, Unix cron (Linux, Kubernetes, GitHub, Cloud Scheduler) runs when EITHER matches — the 1st of the month OR every Monday. Quartz, AWS and Spring require one of the two to be “?”, and Azure’s NCRONTAB requires both to match. This tool shows the exact meaning and, where a platform can’t express OR, gives you the two schedules to create instead.

Which time zone does my cron run in?

Linux cron uses the server’s local time (cronie also supports CRON_TZ). Kubernetes uses .spec.timeZone, otherwise the controller manager’s zone. GitHub Actions and Cloud Scheduler default to UTC but accept an IANA time zone. AWS takes --schedule-expression-timezone. Azure uses WEBSITE_TIME_ZONE (not on Linux Consumption). Vercel is always UTC. The snippets above set the zone for you.

Can AI agents use this tool?

Yes. In Chrome with WebMCP enabled, this page exposes explain_cron and convert_cron as browser tools, so an AI agent can check a schedule or translate it for another platform directly, without scraping the page.

Based on each platform’s official documentation (checked September 2026). Behaviour of unusual expressions can differ between versions — verify critical schedules in a staging environment. Uses no cookies and sends no data server-side.