/ cron expressions / every-day
// cron expression reference

Cron Expression Every Day0 0 * * *

0 0 * * *

Plain English: Once per day — at midnight (00:00) every day.

Try it in the Builder →

How 0 0 * * * Works

0 0 * * * fires once per day at exactly midnight. The first 0 is minute zero; the second 0 is hour zero (midnight). The three wildcards match every day, every month, and every weekday.

Equivalent shorthand: @daily or @midnight (both are aliases for 0 0 * * * in most implementations).

Important: midnight is in the server's local timezone, which is often UTC on cloud servers. If you need midnight in a specific timezone, set CRON_TZ=America/New_York at the top of your crontab (Linux) or configure the scheduler's timezone.

Field Breakdown

FieldValueMeaning
Minute0At minute zero
Hour0At hour zero (midnight)
Day of month*Every day
Month*Every month
Weekday*Every day of week

Next 10 Run Times

Approximate run times starting from the current date. Open in the builder to see exact run times in your timezone.

2026-03-21 00:00 2026-03-22 00:00 2026-03-23 00:00 2026-03-24 00:00 2026-03-25 00:00 2026-03-26 00:00 2026-03-27 00:00 2026-03-28 00:00 2026-03-29 00:00 2026-03-30 00:00

Platform Examples

Linux / Unix crontab
0 0 * * * /path/to/script.sh
# or:
@daily /path/to/script.sh
GitHub Actions
on:
  schedule:
    - cron: '0 0 * * *'  # midnight UTC
AWS EventBridge
cron(0 0 * * ? *)
Kubernetes CronJob
spec:
  schedule: "0 0 * * *"
node-cron (Node.js)
cron.schedule('0 0 * * *', () => { ... });
APScheduler (Python)
scheduler.add_job(fn, 'cron', hour=0, minute=0)

Related Cron Expressions

FAQ

What is @daily in cron?
@daily is an alias for 0 0 * * * — it runs once per day at midnight. Supported by most Unix cron implementations. Not all cloud schedulers support the shorthand.
Does 0 0 * * * run at midnight local time or UTC?
It runs at midnight in whatever timezone the cron daemon is configured with. On most cloud servers (AWS, GCP, Azure, Heroku) this is UTC. On a local Linux machine it follows your system timezone.
How do I run a daily cron job at a specific time like 9am?
Replace the hours field: 0 9 * * * runs at 9:00am every day. See the Daily at 9am page for more details.

Build or explain any cron expression

Use the free visual builder — paste an expression for a plain-English explanation, or click your way to a schedule. See the next 10 run times. No login.

Open CronBuilder →