Cron timezone converter
When will your cron fire in your timezone? — Cron timezone converter
Paste a schedule, choose the server and viewer timezones, and compare the next runs side by side.
| # | Server time | Your time | UTC instant |
|---|
Private by design: processing happens in your browser. No upload, No account, and no server mode.
This tool does not build cron expressions with a click-through wizard and does not provide an embeddable widget.
About this cron timezone converter
Paste a cron expression, choose the server timezone and your timezone, and see the next scheduled runs in both zones—so a UTC cron job is clear in local time.
How to use it
- Paste your cron expression and select its format: 5-field standard, 6-field with seconds, or 6-field Quartz.
- Choose the server timezone and the timezone you want to view, then set how many upcoming runs to list (1–1000; the default is 10).
- Read the side-by-side table. Each row includes server time, your time, and the UTC instant. Copy a permalink to share the same expression, timezones, and horizon.
How the calculation works
Cron fields are parsed into matching value sets. The standard 5-field format is read as minute, hour, day of month, month, and day of week. The 6-field-with-seconds format and the Quartz option are read as second, minute, hour, day of month, month, and day of week.
The calculator starts from the browser’s current time, advances through upcoming minute boundaries, and formats each candidate with the selected server timezone using Intl.DateTimeFormat. For a seconds-based format, the selected seconds are checked within each matching minute. A candidate is listed only when its server-local month, hour, minute, second, and calendar-day rules match. The same instant is then formatted again with your selected timezone; it is not recalculated as a second schedule.
In standard cron, if both day-of-month and day-of-week are restricted, the implementation uses OR semantics: either the day of month or the weekday can match. The page flags this case and suggests splitting the schedules or using a suitable day range for a first-weekday intent.
The calculator checks fixed month/day combinations for impossible dates and reports a suggested correction instead of silently moving the date. It also checks the listed horizon for server-local clock changes, reporting a skipped spring transition or a doubled autumn occurrence when detected. Displayed timezone names and offsets come from the browser’s time-zone data, so results can vary with the browser’s current tz database.
What this tool does not do
This is a paste-first cron timezone converter, not a click-through expression builder. It does not create an expression for you with a wizard, and it does not provide an embeddable widget snippet. It also does not run your job, upload your expression, require an account, or offer a server mode. Parsing, conversion, validation, and permalink generation happen in your browser.
FAQ
Does cron use UTC or local time?
Cron is interpreted using the scheduler’s machine or service timezone. Select that timezone as Server timezone instead of assuming it is UTC or the browser’s timezone.
How do I see the next cron run in my timezone?
Paste the expression, choose the field format, select the server timezone and your timezone, and read the next-runs table. The server and your local time are shown side by side for each UTC instant.
Why does my cron job run twice?
A clock moving back can make the same server-local wall-clock time occur twice. When the listed schedule exposes that situation, the tool marks the server-local occurrence as doubled and retains the UTC instant in each row.
What happens when cron runs during the spring daylight-saving change?
A server-local time in the skipped clock interval may not occur. The tool checks the schedule around the server timezone’s spring clock change and can report a skipped occurrence. The exact behavior of your cron daemon may differ.
What is the difference between 5-field cron and Quartz cron?
5-field standard cron starts with minutes. The seconds-based and Quartz options start with seconds and then use minute, hour, day of month, month, and day of week. In this tool, Quartz accepts ? as an unrestricted day field; advanced Quartz tokens such as L, W, and # are not supported.
Why is 0 0 31 2 * invalid?
It asks for day 31 in February, which has no such date. The tool reports the impossible date and suggests using day 28 or 29 when appropriate, or splitting the schedule by month.
Does 0 0 1 * MON mean the first Monday?
Not in standard cron as implemented here. When both day-of-month and day-of-week are restricted, the rule is OR: it runs on the first day of the month or on Mondays. The warning includes a suggested fix for a first-weekday intent.
Does this tool run my cron or send data to a server?
No. The expression is parsed in your browser, and the timezone conversion and permalink are generated there. There is no upload, account, or server mode.