TFT

CRON Expression Tester - See Next Run Times

Test your CRON expression by seeing exactly when it will run next. Enter your cron and a start date to get a list of upcoming execution times. Essential for debugging cron schedules.

CRON Expression Tester
Calculate and verify next scheduled execution times
Next 10 Run Times
Starting from 3/24/2026
1Next run

Tue, Mar 24, 2026

09:00 AM

2Run #2

Wed, Mar 25, 2026

09:00 AM

3Run #3

Thu, Mar 26, 2026

09:00 AM

4Run #4

Fri, Mar 27, 2026

09:00 AM

5Run #5

Mon, Mar 30, 2026

09:00 AM

6Run #6

Tue, Mar 31, 2026

09:00 AM

7Run #7

Wed, Apr 1, 2026

09:00 AM

8Run #8

Thu, Apr 2, 2026

09:00 AM

9Run #9

Fri, Apr 3, 2026

09:00 AM

Schedule Statistics

First Run

3/24/2026, 9:00:00 AM

Last Run

4/3/2026, 9:00:00 AM

Total Runs

9

Quick Test Presets
Test these common schedules
Verification Tips
  • Check that the first run time matches your expectations
  • Verify the interval between runs is consistent
  • Ensure runs don't conflict with maintenance windows
  • Test with different start dates to verify edge cases

Testing Cron Expressions with Next Run Times

The cron tester calculates the next scheduled execution times for any cron expression. Instead of mentally parsing */15 * * * *, you see actual dates: "2026-03-18 10:00:00", "2026-03-18 10:15:00", "2026-03-18 10:30:00".

The tool parses your cron expression, validates the format (5-field or 6-field with seconds), then iterates forward from a start date to find matching times. It handles all cron syntax: wildcards (*), ranges (1-5), lists (1,15,30), and step values (*/10).

Cron field reference:

Minute 0-59
Hour 0-23
Day of month 1-31
Month 1-12
Day of week 0-7 (0 or 7 = Sunday)

Testing catches mistakes before they cause production issues. That expression meant to run at 9 AM on weekdays? The tester reveals it actually runs at 9 PM, or on weekends too.

When You'd Actually Use This

Verifying complex cron expressions

You wrote 0 0 1,15 * 1 expecting "1st and 15th plus Mondays". The tester shows it runs on the 1st, 15th, AND every Monday—revealing the OR logic you forgot about.

Debugging missed cron executions

Your backup didn't run last night. Test the expression to confirm it was supposed to run, or discover the cron syntax was wrong and never matched.

Planning job frequency

Deciding between */5 and */10 minute intervals? Run both through the tester to see how many executions per day each produces.

Validating expressions from documentation

Copying a cron expression from Stack Overflow? Test it first to ensure it does what the answer claims, not what it literally says.

Teaching cron syntax

New to cron? Experiment with different expressions and immediately see the schedule. Much faster than memorizing field positions and operator meanings.

Pre-deployment validation

Before adding a cron job to production crontab, test the expression. Catch typos like 0 25 * * * (invalid hour) before they cause confusion.

What to Know Before Using

Day-of-month and day-of-week use OR logic.If both fields are restricted (not *), the job runs when EITHER matches. 0 0 15 * 1 runs on the 15th AND every Monday, not just Mondays that fall on the 15th.

Timezone depends on your system.Cron uses the server's timezone, not UTC (unless configured). The tester shows times in your local timezone—verify your server uses the same.

Step values start from the minimum.*/15 in minutes means 0, 15, 30, 45—not 15, 30, 45, 60. Step ranges like 5-55/10 give you 5, 15, 25, 35, 45, 55.

Some cron implementations differ.Standard cron uses 5 fields. Some systems (Systemd, Quartz) support 6 fields with seconds. The tester handles both—select the appropriate mode.

Pro tip: Test edge cases—midnight (0 0 * * *), month boundaries, and day-of-week transitions. Many bugs hide in off-by-one errors around midnight or Sunday/Monday.

Common Questions

How do I run a cron job every 10 minutes?

Use */10 * * * *. This runs at :00, :10, :20, :30, :40, :50 every hour. Not 0/10—that's invalid syntax.

What does 0 0 * * 0 mean?

Midnight (00:00) every Sunday. The last 0 is Sunday (both 0 and 7 represent Sunday). Some systems use 1-7 for Mon-Sun instead.

Can I schedule a job for the last day of each month?

Standard cron can't directly express "last day". Workarounds: run daily and check in-script if it's month-end, or use 0 0 28-31 * * and filter months with fewer days in the script.

Why isn't my cron job running?

Common issues: wrong timezone, script not executable, missing PATH in crontab, or the expression doesn't match when you expect. Test the expression first, then check system logs (grep CRON /var/log/syslog).

How do I run a job every weekday at 9 AM?

0 9 * * 1-5 — minute 0, hour 9, any day of month, any month, days 1-5 (Monday through Friday).

What's the difference between 5-field and 6-field cron?

Standard cron uses 5 fields (minute through day-of-week). Extended formats add a seconds field at the start (6 fields) or year field at the end (7 fields). Match your system's expected format.