Cron library
Cron expression for every 30 minutes
*/30 * * * *
At minute 0 and 30 past every hour every day.
Runs 100% in your browser. Nothing you paste is uploaded, stored, or sent to a server.
Or build one
Meaning
Next 10 run times
How to use
- Read the expression and the English meaning above. Confirm they match the job you have in mind.
- Use the time zone dropdown to preview the next 10 fire times in UTC or a US/EU city.
- Copy the expression into crontab, GitHub Actions (`on.schedule.cron`), or your job runner.
- If you need a nearby interval, browse the related schedules at the bottom of this page.
Twice an hour is often enough for a reconciliation job: inventory vs orders, mailbox vs ticket system, or object storage vs the CDN.
*/30 expands to minutes 0 and 30. 30 * * * * is different — that one fires only once an hour, at :30.
When this schedule is a good fit
Typical uses: Reconciling payment captures; Refreshing OAuth tokens that live for an hour; A low-priority search index update.
Cron fields are zone-naive. The daemon’s TZ — or the TZ= line above the job — decides what “midnight” or “9am” means. Preview both UTC and the office zone before you ship.
FAQ
Does this run at midnight?
Yes, at 00:00 and 00:30, and then every half hour after that.
How do I run only at :30?
Write 30 * * * *, without a step. That is once per hour.
Does this page upload my crontab?
No. The explainer and the next-run list run in your browser. The expression on this page is a public example.