RRULE For iCalendar & recurring events

RRule
Generator

Use our RRULE Generator to effortlessly create “RRULE” strings for your calendar. Perfect for setting up recurring events, it allows you to specify the frequency of daily, weekly, or monthly occurrences.

Create Recurring Event

every
On day
On the
Of
occurrences

100% in‑browser · Copy & paste into any iCalendar app

How to use RRULE Generator

  1. 01

    Select Frequency

    Choose how often your event should recur (daily, weekly, etc.).

  2. 02

    Set Interval and Weekday

    Specify the interval and the days of the week your event occurs.

  3. 03

    Define End Criteria

    Decide whether your event ends on a specific date or after a certain number of occurrences.

  4. 04

    Generate RRULE

    With the parameters set, generate the RRULE string that can be integrated into your calendar application.

What is RRULE?

RRULE, or Recurrence Rule, is a format used by various calendar applications to define the pattern of recurring events. It originates from the iCalendar specification (RFC 5545), which is utilized by numerous scheduling and calendar programs to ensure consistency and compatibility across platforms.

Key Components of RRULE

FREQ
The frequency of the event (e.g., DAILY, WEEKLY, MONTHLY, YEARLY).
INTERVAL
How often the event repeats within the frequency set by FREQ.
BYDAY
Specifies the days of the week on which the event should occur.
UNTIL
A date until which the event continues.
COUNT
How many times the event will occur.

Anatomy of an RRULE string

An RRULE is a single line made of KEY=VALUE pairs separated by semicolons. The first pair is always FREQ, which sets the base cadence; everything after it narrows the pattern down. Take a weekly stand‑up every Monday and Wednesday:

RRULE:FREQ=WEEKLY;INTERVAL=1;BYDAY=MO,WE

Here FREQ=WEEKLY sets a weekly base, INTERVAL=1 means every week (an interval of 2 would be every other week), and BYDAY=MO,WE pins it to Monday and Wednesday. Because the format is plain text and standardised, the same string behaves identically across every calendar that follows RFC 5545 — there's nothing to install and nothing platform‑specific to learn.

Common RRULE examples

Some of the recurrence patterns people need most often, with the exact RRULE string for each. Copy one as a starting point, or recreate it in the generator above and tweak the details.

Every day
FREQ=DAILY
Every weekday (Mon–Fri)
FREQ=WEEKLY;BYDAY=MO,TU,WE,TH,FR
Every week on Monday
FREQ=WEEKLY;BYDAY=MO
Every two weeks
FREQ=WEEKLY;INTERVAL=2
On the 1st of every month
FREQ=MONTHLY;BYMONTHDAY=1
The last Friday of every month
FREQ=MONTHLY;BYDAY=-1FR
Every year on June 18
FREQ=YEARLY;BYMONTH=6;BYMONTHDAY=18
Every day for 10 occurrences
FREQ=DAILY;COUNT=10
Weekly until a set date
FREQ=WEEKLY;UNTIL=20261231

Practical Applications of RRULE

The versatility of RRULE makes it ideal for a wide range of applications, including business scheduling for recurring meetings, educational institutions for scheduling classes, and personal use for organizing events like birthdays and regular gatherings.

Questions

An RRULE (Recurrence Rule) is a single line of text that describes how an event repeats — for example FREQ=WEEKLY;BYDAY=MO means "every Monday". It's part of the iCalendar standard (RFC 5545) and is understood by Google Calendar, Outlook, Apple Calendar and most scheduling software.
Anywhere a calendar or scheduling library accepts a recurrence rule: inside a VEVENT block in an .ics file, in the recurrence field of a calendar API (Google Calendar API, Microsoft Graph), or in libraries like rrule.js, python-dateutil and ice_cube.
Yes. It's completely free, needs no signup, and runs entirely in your browser — the rule is built locally as you change the options.
No. An RRULE only describes the repeat pattern, not when the series begins. The start date comes from the event's own DTSTART value in your calendar — the RRULE works alongside it.
It means "the last Friday". The number before the weekday is the position: 1FR is the first Friday, 2FR the second, and -1FR counts from the end, so it's the last Friday of the period.
COUNT ends the series after a fixed number of occurrences (e.g. COUNT=10 stops after 10 events). UNTIL ends it on a specific date (e.g. UNTIL=20261231 stops at the end of 2026). Use one or the other, not both.

Works with

Google Calendar · Outlook · Apple Calendar · Microsoft 365 · Thunderbird · any iCalendar (RFC 5545) app

Get Your Events on Everyone's Calendar.

Generate universal "Add to Calendar" links that work with Google, Apple, Outlook, Office 365, Yahoo, and ICS — all from one link.

Google Calendar Apple Calendar Outlook Office 365 Yahoo Calendar
Try CalGet Free