iCalendar.org

  * [ Home  ](/Home.html)
  * Specifications ****
    * [ iCalendar (RFC 5545)  ](/RFC-Specifications/iCalendar-RFC-5545/)
    * [ New Properties for iCalendar (RFC 7986)  ](/RFC-Specifications/iCalendar-RFC-7986/)
    * [ iCalendar Venue (Draft)  ](/RFC-Specifications/iCalendar-Venue-Draft/)
    * [ CalDAV Access (RFC 4791)  ](/RFC-Specifications/CalDAV-Access-RFC-4791/)
    * [ CalDAV Scheduling (RFC 6638)  ](/RFC-Specifications/CalDAV-Scheduling-RFC-6638/)
  * [ Validator  ](/validator.html)
  * [ PHP Library  ](/php-library.html)
  * [ RRULE Tool  ](/rrule-tool.html)
  * [ Resources  ](/resources.html)
  * [ News  ](/News/)
  * [ Contact Us  ](/contact-us.html)

[ ![iCalendar.org](https://icalendar.org/images/clipart/icalendar600.png) ](/)

  1. You are here: 
  2. [ Home  ](/Home.html)
  3. [ Specifications  ](/RFC-Specifications/all/)
  4. [ iCalendar (RFC 5545)  ](/RFC-Specifications/iCalendar-RFC-5545/)
  5. 3.8.5.3. Recurrence Rule 

Try out our new [ RRULE tool ](/rrule-tool.html) for creating RRULE compatible
strings.

#  3.8.5.3. Recurrence Rule

f  Share

URL

##  Property Name

RRULE

##  Purpose

This property defines a rule or repeating pattern for recurring events, to-
dos, journal entries, or time zone definitions.

##  Value Type

RECUR

##  Property Parameters

IANA and non-standard property parameters can be specified on this property.

##  Conformance

This property can be specified in recurring [ "VEVENT" ](/iCalendar-
RFC-5545/3-6-1-event-component.html) , [ "VTODO" ](/iCalendar-
RFC-5545/3-6-2-to-do-component.html) , and [ "VJOURNAL" ](/iCalendar-
RFC-5545/3-6-3-journal-component.html) calendar components as well as in the
"STANDARD" and "DAYLIGHT" sub-components of the [ "VTIMEZONE" ](/iCalendar-
RFC-5545/3-6-5-time-zone-component.html) calendar component, but it SHOULD NOT
be specified more than once. The recurrence set generated with multiple [
"RRULE" ](/iCalendar-RFC-5545/3-8-5-3-recurrence-rule.html) properties is
undefined.

##  Description

The recurrence rule, if specified, is used in computing the recurrence set.
The recurrence set is the complete set of recurrence instances for a calendar
component. The recurrence set is generated by considering the initial [
"DTSTART" ](/iCalendar-RFC-5545/3-8-2-4-date-time-start.html) property along
with the [ "RRULE" ](/iCalendar-RFC-5545/3-8-5-3-recurrence-rule.html) , [
"RDATE" ](/iCalendar-RFC-5545/3-8-5-2-recurrence-date-times.html) , and [
"EXDATE" ](/iCalendar-RFC-5545/3-8-5-1-exception-date-times.html) properties
contained within the recurring component. The [ "DTSTART" ](/iCalendar-
RFC-5545/3-8-2-4-date-time-start.html) property defines the first instance in
the recurrence set. The [ "DTSTART" ](/iCalendar-RFC-5545/3-8-2-4-date-time-
start.html) property value SHOULD be synchronized with the recurrence rule, if
specified. The recurrence set generated with a [ "DTSTART" ](/iCalendar-
RFC-5545/3-8-2-4-date-time-start.html) property value not synchronized with
the recurrence rule is undefined. The final recurrence set is generated by
gathering all of the start DATE-TIME values generated by any of the specified
[ "RRULE" ](/iCalendar-RFC-5545/3-8-5-3-recurrence-rule.html) and [ "RDATE"
](/iCalendar-RFC-5545/3-8-5-2-recurrence-date-times.html) properties, and then
excluding any start DATE-TIME values specified by [ "EXDATE" ](/iCalendar-
RFC-5545/3-8-5-1-exception-date-times.html) properties. This implies that
start DATE- TIME values specified by [ "EXDATE" ](/iCalendar-
RFC-5545/3-8-5-1-exception-date-times.html) properties take precedence over
those specified by inclusion properties (i.e., [ "RDATE" ](/iCalendar-
RFC-5545/3-8-5-2-recurrence-date-times.html) and [ "RRULE" ](/iCalendar-
RFC-5545/3-8-5-3-recurrence-rule.html) ). Where duplicate instances are
generated by the [ "RRULE" ](/iCalendar-RFC-5545/3-8-5-3-recurrence-rule.html)
and [ "RDATE" ](/iCalendar-RFC-5545/3-8-5-2-recurrence-date-times.html)
properties, only one recurrence