glunty

Cron Expression to English

Translate a cron expression into a sentence. Pure client-side, nothing uploaded.

What this tool does

A cron expression is a five-field shorthand for when a scheduled task should run. Reading one quickly is a learned skill, and most people end up looking up the format every time. This tool takes a standard 5-field cron expression and translates it into a sentence, then breaks it down field by field so you can see exactly which part means which thing. It runs entirely in your browser. Your input never leaves the page.

How to use it

Paste or type a cron expression into the input box. The five fields, in order, are: minute (0 to 59), hour (0 to 23), day-of-month (1 to 31), month (1 to 12 or JAN to DEC), and day-of-week (0 to 7 where 0 and 7 are Sunday, or SUN to SAT). Press Translate. Example: 0 9 * * MON-FRI reads as "At 9:00 AM, Monday through Friday."

Common use cases

  • Confirming a deployment script will fire when you expect it to.
  • Reading a teammate's crontab without running it through trial and error.
  • Translating "every other Tuesday at 3 AM" type requirements into the right expression by trying variations and reading the output.
  • Documenting a scheduled job in a runbook in human-readable form.
  • Spotting a "0 0 * * *" that meant to be hourly but was written as daily, or vice versa.

Common pitfalls

  • Day-of-month vs day-of-week conflict. If both day-of-month and day-of-week are restricted (neither is *), most cron implementations run when either matches, not both. This often surprises people. Use one or the other.
  • Sunday is both 0 and 7. Some implementations only accept 0, some accept both, some prefer 7. Use SUN when in doubt.
  • Timezones. A cron expression has no timezone of its own. It runs in the timezone of the system it lives on. The same expression on two servers in different regions can fire at different real-world times.

Frequently asked questions

Why do day-of-month and day-of-week sometimes both fire when only one is set?
When both fields are restricted (neither is *), most cron implementations run when EITHER matches, not both. So 0 0 1 * 1 fires every 1st of the month AND every Monday, not "the 1st when it falls on a Monday." To get the AND behavior, restrict one field and leave the other as *, then handle the additional condition in your job script.
Is Sunday 0 or 7?
Both, in most modern implementations. POSIX cron specifies 0-6 with 0 as Sunday. Some implementations also accept 7 as Sunday for compatibility with older systems where Monday was 1 and the week ended on Sunday=7. To remove the ambiguity, use SUN; the named form is universally understood.
What does */15 mean?
*/15 in the minute field means "every 15 minutes starting from minute 0." It is shorthand for 0,15,30,45. The slash is a step value; the asterisk before it is the range to step through. */N applies to any field; e.g., 0 */6 * * * means "every 6 hours."
Why does this tool not handle @daily or @reboot?
Those are aliases that some cron implementations (Vixie cron, fcron, systemd timers) accept but not all. The tool focuses on the standard 5-field expression because the aliases are not portable. Convert aliases to explicit fields: @daily is 0 0 * * *, @hourly is 0 * * * *, @weekly is 0 0 * * 0, @monthly is 0 0 1 * *, @yearly is 0 0 1 1 *.
Why does my Tuesday-only cron not run on Tuesdays as expected?
Two common causes. First, the day-of-week and day-of-month interaction described above. Second, the timezone the cron daemon runs in: cron uses the system timezone (often UTC, sometimes host local), not your shell timezone. Verify with date on the host. Also check that the user crontab is the one being read (root vs your user vs container init).
Does this handle six-field cron with seconds?
No. Six-field cron with leading seconds (used by Quartz scheduler in Java and some other systems) is a different dialect. This tool only handles the standard 5-field POSIX-style expression. For Quartz expressions, drop the seconds field and the tool will translate the rest, but it will not describe sub-minute granularity.

Embed this tool

Free for any use; attribution appreciated. Paste this on your site:

The embed runs the same tool that lives at this URL. No tracking; no ads inside the embed. Resize height as needed for your layout.

Cite this tool

For academic, journalistic, or technical references. Pick a format:

Citations use 2026 as the publication year. Access date is left as a fillable placeholder where the citation style expects one.

Embedded tool from glunty.com