Cron Parser
Paste a cron expression and read it in plain English, with the next runs in your zone.
Runs fully in your browser. Nothing you paste here is sent anywhere.PrivateYour expression
What it means
About this tool
Paste the expression as you have it: a bare */5 * * * *, a whole crontab line with its command, the "- cron:" line of a GitHub Actions workflow, the "schedule:" of a Kubernetes CronJob or an AWS cron(...) string. The tool works out which syntax it is, writes the schedule out as one sentence — "At 09:00, on Monday through Friday" — and lists the next ten runs in the time zone your server uses, each with the time in your own zone beside it. A table under the input explains every field on its own, and one click loads any of the common schedules.
It reads the five-field crontab syntax with names, ranges, lists, steps, Sunday as 0 or 7 and the @hourly to @yearly aliases, and the six- and seven-field dialects that add seconds and a year: Quartz and Spring, including L, W, # and ?, and AWS EventBridge, where Sunday is 1. The same schedule is then written out for every scheduler that can express it — crontab, GitHub Actions, Kubernetes, Quartz and AWS — with a copy button on each.
The traps are pointed out rather than hidden: when both day fields are set the sentence says "or", because standard cron runs when either one matches; a 31st is flagged as skipping short months; a seconds-first expression with numeric weekdays is marked as read with Quartz numbering, with the Spring option one click away; and an expression that can never match, such as 31 February, says so instead of showing an empty list. A wrong value is reported by field, with its allowed range.
Nothing you paste is transmitted. The page is static HTML; the parsing, the sentence and the next-run search all run in your tab on the time zone data your browser already ships, so a crontab that names internal hosts and scripts is safe to paste.
Frequently asked questions
Is my crontab uploaded to a server?
No. The parser is plain JavaScript running in your browser. There is no backend endpoint, so nothing you paste leaves your device — you can disconnect from the network and it still works. The command part of a crontab line is shown back to you and used nowhere else.
Which cron syntaxes does it understand?
Standard five-field crontab (Vixie, cronie, GitHub Actions, Kubernetes, GitLab), the six- and seven-field Quartz syntax used by Spring, Jenkins pipelines and many Java schedulers, Spring and node-cron expressions with seconds, and AWS EventBridge and CloudWatch cron(...) expressions with a year field. Names such as MON and JAN, steps, ranges, lists, L, W, #, ? and the @daily-style aliases are all read. Jenkins’ H is not: it stands for a slot chosen per job, so there is nothing to preview until you replace it with a value.
How does it tell Quartz from a crontab with seconds?
By the number of fields and the position of ?. Five fields are crontab; seven are Quartz; six are Quartz unless the last field is a year or the ? sits where AWS puts its day fields. The difference matters for weekdays, which start at 1 = Sunday in Quartz and AWS but at 0 = Sunday in crontab, Spring and node-cron, so the tool says which reading it used and lets you pick another in the toolbar. Writing weekdays as names (MON-FRI) removes the ambiguity in every dialect.
Why does the sentence say "or" between the day of the month and the day of the week?
Because that is what cron does. When both fields are restricted, "0 0 1 * 1" runs on the 1st of every month and on every Monday, not only on Mondays that fall on the 1st. Vixie cron has one exception, which the tool also applies: if one of the two fields starts with *, such as */2, both must match. Quartz and AWS refuse the combination outright and require ? in one of the fields.
Which time zone are the next runs in?
The one selected under "Server time zone" in the toolbar, because a cron job runs on the clock of the machine or service that hosts it — usually UTC on servers, GitHub Actions and AWS. It starts on your own zone; pick the server’s and the table shows each run in that zone with the equivalent in your local time beside it. The choice is saved in your browser under the key cron-parser and never sent anywhere.
What happens around a daylight-saving change?
The tool walks the server zone’s wall clock, so a job at 02:30 is listed as skipped on the night the clock jumps from 02:00 to 03:00, and once on the night the hour repeats. Real schedulers differ here — Vixie cron runs jobs that would have been missed, systemd and Quartz have their own rules — so a job that must run every day is safest scheduled at an hour that never disappears.
Is it really free?
Yes, with no account and no usage limit. The site is funded by ads placed around the tool, never inside your working area.