UpturaBeta
Free developer tool

Cron Expression Translator

Turn any cron expression into plain English and see its next run times — instantly, in your own time zone. Paste a schedule, or start from a common one below.

*/5
minute
*
hour
*
day (month)
*
month
*
day (week)
Common:

This schedule runs

Every 5 minutes.

Next 5 runs · UTC

  • 1Thu, Sep 17, 5:30 PM
  • 2Thu, Sep 17, 5:35 PM
  • 3Thu, Sep 17, 5:40 PM
  • 4Thu, Sep 17, 5:45 PM
  • 5Thu, Sep 17, 5:50 PM
Uptura runs your monitoring on a schedule and alerts you when a site goes down — free

What this tool does

Cron expressions, decoded

Five fields of stars and slashes are easy to get subtly wrong. This translator turns any expression into a sentence and shows exactly when it will fire.

  • A plain-English translation

    Paste any cron expression and read exactly when it runs in one sentence — no more decoding five fields of stars and slashes in your head.

  • The next run times

    See the next five times the schedule will actually fire, in your own time zone, so you can confirm it does what you meant before you ship it.

  • Instant validation

    Catch a bad field the moment you type it — an out-of-range value, a missing field, or an impossible date like February 30th — instead of finding out when the job silently never runs.

  • One-click common schedules

    Grab a ready-made expression for every 5 minutes, every hour, weekdays at 9 AM, or the 1st of the month, then tweak it from there.

How to use it

Translate a cron expression in four steps

Paste, read, verify, ship — check a schedule does exactly what you meant before it runs in production.

  1. 1

    Paste your cron expression

    Type or paste a standard 5-field expression like */5 * * * * — minute, hour, day-of-month, month, day-of-week. Named shortcuts such as @daily and @hourly work too.

  2. 2

    Read the plain-English schedule

    The tool instantly translates it into a sentence — "Every 5 minutes", "At 9:30 AM, Monday through Friday" — so you can confirm it matches what you intended.

  3. 3

    Check the next run times

    See the next five fire times in your local time zone. If they line up with what you expect, the expression is right; if not, adjust a field and watch it update live.

  4. 4

    Copy it into your crontab or scheduler

    Drop the validated expression into crontab, a CI pipeline, a Kubernetes CronJob, or any scheduler that speaks cron.

The five fields, in order — this is the standard format the tool reads:

# ┌───────────── minute (0 - 59)
# │ ┌─────────── hour (0 - 23)
# │ │ ┌───────── day of month (1 - 31)
# │ │ │ ┌─────── month (1 - 12 or JAN-DEC)
# │ │ │ │ ┌───── day of week (0 - 6 or SUN-SAT)
# │ │ │ │ │
  */5 * * * *   →  every 5 minutes

The guide

Cron, from the ground up

What cron means, how to read all five fields, the four operators every schedule is built from, and where a scheduled job stops being enough.

What is a cron — and what does cron mean?

If you've ever wondered what is a cron, here's the short version: cron is the scheduler that Unix and Linux systems use to run tasks automatically at set times. The name comes from chronos, Greek for time, and it has quietly powered the internet's routine work — backups, report emails, cache cleanups, health checks — for decades. The plain cron meaning is a clock-driven to-do list the machine works through on its own.

The thing cron runs is a cron job: a command or script paired with a schedule. The cron job meaning is exactly that pairing — "run this, on this cadence" — and the cadence is written as a cron expression. So the cron definition most people actually want is the expression itself: five fields that say when, and a command that says what. Get the five fields right and the job runs forever without anyone touching it; get them wrong and it either never fires or fires far more often than you meant.

Reading the five fields

A standard cron expression is five fields separated by spaces, always in the same order. Once you can read them left to right, the whole thing stops looking like line noise:

  • Minute (0–59) which minute of the hour. 0 means the top of the hour; */5 means every fifth minute.
  • Hour (0–23) which hour, in 24-hour time. 9 is 9 AM, 17 is 5 PM, and a range like 9-17 covers the working day.
  • Day of month (1–31) which date. 1 is the first of the month; a star means every day.
  • Month (1–12 or JAN–DEC) which month. You can use numbers or three-letter names.
  • Day of week (0–6 or SUN–SAT) which weekday, where both 0 and 7 mean Sunday. 1-5 is Monday through Friday — the classic "weekdays only" schedule.

The operators: star, comma, dash, and slash

Each field understands four small operators, and every schedule you'll ever write is just a combination of them. A star (*) means every value — a star in the hour field is every hour. A comma makes a list, so 1,15,30 in the minute field fires three times an hour. A dash makes a range, so 1-5 in the day-of-week field is Monday through Friday. And a slash adds a step, so */15 is every fifteenth value and 0-30/10 is 0, 10, 20, 30.

Put together, these cover the common requests almost verbatim. A cron task every 5 minutes is */5 * * * *. A unix cron every 5 minutes during work hours is */5 9-17 * * 1-5. Crontab every 15 minutes is */15 * * * *, and a cron task every hour is 0 * * * *. The safest way to write one is to describe it in words first, then build the fields to match — which is exactly what the translator above lets you check in reverse.

Why a cron job is only half the reliability story

Getting the expression right guarantees the scheduler will try to run your job on time. What it can't tell you is whether the job actually succeeded — or whether the thing it's supposed to keep healthy is still up. A cron job that fetches a health check runs perfectly and reports nothing when the site it checks has quietly gone down; the schedule fired, the work "happened," and no one is any wiser.

That's the gap between scheduling work and knowing it worked. Uptura sits on the second half: it runs the checks on a schedule for you — uptime, SSL, DNS, performance — confirms failures across consecutive runs so a blip doesn't page you, and actively tells you the moment something breaks, then again when it recovers. No crontab to maintain, no server to babysit, and alerts that reach you over email or Slack. Free during our public beta — so a scheduled job silently failing is something you hear about from us, not from a customer.

FAQ

Cron, answered

  • What is a cron expression?

    A cron expression is a compact string of five fields — minute, hour, day-of-month, month, and day-of-week — that defines a repeating schedule. For example, */5 * * * * means "every 5 minutes" and 0 9 * * 1-5 means "at 9 AM, Monday through Friday." It's the standard way Unix-like systems (and most modern schedulers) describe when a recurring job should run.

  • What does cron mean?

    Cron is the name of the time-based job scheduler on Unix and Linux systems; the name comes from "chronos," the Greek word for time. A cron job is a command or script that cron runs automatically on a schedule you define with a cron expression. So the plain cron meaning is simply: a built-in tool that runs tasks for you at set times, over and over, without anyone having to trigger them by hand.

  • How do I write a cron expression for every 5 minutes?

    Use */5 * * * *. The */5 in the minute field means "every 5th minute," and the four stars mean "every hour, every day, every month, every weekday." For a cron task every 5 minutes that only runs during business hours, add an hour range: */5 9-17 * * *. Paste either into the tool above to confirm the next run times.

  • What are the five fields in a cron expression?

    In order, they are: minute (0–59), hour (0–23), day of the month (1–31), month (1–12 or JAN–DEC), and day of the week (0–6 or SUN–SAT, where both 0 and 7 mean Sunday). Each field accepts a single value, a list (1,3,5), a range (1-5), a step (*/15), or a star for "every." This tool uses the standard 5-field format — it doesn't use the optional seconds field some schedulers add.

  • What does an asterisk (*) mean in cron?

    A star means "every value" for that field. So a star in the hour field means every hour, and a star in the day-of-week field means every day. That's why * * * * * means "every minute of every hour of every day." A slash adds a step — */15 means every 15th value — and a dash makes a range, like 1-5 for Monday through Friday.

  • Is this cron translator free?

    Yes — the cron expression translator is completely free, runs entirely in your browser, and needs no sign-up. Translate and test as many expressions as you like. If you'd rather not run and babysit your own scheduled checks, Uptura runs monitoring on a schedule for you and alerts you the moment a site goes down — free during our public beta.

Let Uptura run the schedule for you

Skip the crontab — Uptura runs your uptime, SSL, DNS, and performance checks on a schedule and alerts you the moment something breaks. Free during our public beta, no credit card required.

Free during beta · no credit card required