RRULE Generator and Tester
Build an RFC 5545 recurrence rule from plain controls or paste one to test it, then read the next occurrences expanded date by date in your browser.
Build the rule
Recurrence rule
RRULE:FREQ=MONTHLY;BYDAY=3TH;COUNT=6Every month, on the third Thursday, for 6 occurrences.
Next occurrences
- 1.Thu, Jan 15, 20262026-01-15 · W3
- 2.Thu, Feb 19, 20262026-02-19 · W8
- 3.Thu, Mar 19, 20262026-03-19 · W12
- 4.Thu, Apr 16, 20262026-04-16 · W16
- 5.Thu, May 21, 20262026-05-21 · W21
- 6.Thu, Jun 18, 20262026-06-18 · W25
The rule runs out here — COUNT or UNTIL has been reached.
What is the RRULE Generator and Tester?
The ByteTools RRULE Generator builds the recurrence rules that calendar systems use to describe repeating events.
- Visual builder for FREQ, INTERVAL, BYDAY, BYMONTHDAY, BYMONTH, BYSETPOS, COUNT and UNTIL
- Manual mode to paste and test a rule taken from an existing .ics file
- Occurrences expanded locally and listed with ISO dates and ISO week numbers
- Plain-English sentence describing what the rule actually means
- Eight presets including the last working day of the month and Friday the 13th
- Copy the bare RRULE or the rule together with its next dates
How to use the RRULE Generator and Tester
- 1
Set the start date — occurrences are counted from it — and how many of them to preview.
- 2
Choose the frequency and interval, then tick the weekdays, months and days of the month you need.
- 3
For monthly or yearly rules, pick an ordinal such as Third or Last to turn TH into 3TH or -1TH.
- 4
Decide whether the rule never ends, stops after a count, or stops on an UNTIL date.
- 5
Check the expanded occurrence list, then copy the RRULE line or the rule together with its dates.
About the RRULE Generator and Tester
The ByteTools RRULE Generator builds the recurrence rules that calendar systems use to describe repeating events. Pick a frequency, an interval, the weekdays, days of the month, months and an ordinal such as third or last, and the RRULE line is assembled as you type — ready to paste into an .ics file, a CalDAV request or a scheduling library.
Writing the rule is only half the job; the hard part is checking that it means what you think. Every rule is expanded here by a hand-written iterator that lists the real dates it produces, so third Thursday of every month, or the last working day of the month, can be confirmed against the calendar before anything relies on it.
Switch to manual mode to paste a rule out of an existing calendar file and test it, or start from one of the preset buttons. The parser, the expander and the plain-English description all run 100% locally in your browser, so nothing you type is uploaded and internal schedules stay on your own machine.
Frequently asked questions
What is an RRULE?
An RRULE is the recurrence rule line in the iCalendar format defined by RFC 5545. It packs a repeating pattern into a single string such as FREQ=WEEKLY;INTERVAL=2;BYDAY=TU, which a calendar expands into individual occurrences instead of storing every date separately.
How do I write third Thursday of every month?
Use FREQ=MONTHLY;BYDAY=3TH — the number in front of the weekday code is the ordinal. In the builder, choose Monthly, tick Thu and set the ordinal to Third. The preview then lists the actual Thursdays so you can confirm the rule lands where you expect.
What does BYSETPOS do?
BYSETPOS filters the matches inside each period after every other part of the rule has run. FREQ=MONTHLY;BYDAY=MO,TU,WE,TH,FR;BYSETPOS=-1 first collects every weekday in the month, then keeps only the last one, which is how you express the last working day of the month.
Why does my recurrence rule produce no dates?
Usually the filters contradict each other — asking for BYMONTHDAY=31 in February, or a weekday that never falls in the months you ticked. The tool says so explicitly instead of failing silently, so widen the filters or check the start date and the expansion will reappear.
What is the difference between COUNT and UNTIL?
COUNT stops the series after a fixed number of occurrences, while UNTIL stops it at a date. A rule may use one or the other but never both at once, which is why the end options here are mutually exclusive rather than combinable.
Can I test a rule copied from my calendar?
Yes. Tick the option to type the rule yourself and paste the line; the leading RRULE: prefix is optional. The rule is parsed, described in plain English and expanded against your chosen start date, so you can see exactly which dates it hits.
Related tools
ICS Calendar File Generator
Build a valid .ics calendar file with UID, DTSTAMP, TZID or UTC times, a reminder and recurrence, then download it for Google Calendar, Outlook or Apple.
Date Sequence Generator
Generate a list of dates from a rule — every N days, only chosen weekdays, or the nth weekday of each month — skipping weekends and holidays you paste in.
Sprint Date Calculator
Generate an agile sprint schedule with start, end, review and retro dates, the working days in each sprint, and CSV or ICS export for the team calendar.
Countdown Timer
Free online countdown timer. Count down to any date and time or start a quick timer in minutes, with start, pause, reset and a live progress bar.
Date Difference Calculator
Calculate the exact difference between two dates in years, months and days, plus total days, weeks, hours and minutes. Free, fast and private.