Zero Signup ToolsFree browser tools

Date & Time Tools

RRULE Generator

Build, parse, and explain iCalendar RFC 5545 RRULE strings in your browser. Live next-occurrences preview, presets, and DTSTART block output.

Common presets

Recurrence rule

Frequency

Every N week(s).

WKST is honored when weekly INTERVAL is greater than 1.

Weekdays (BYDAY)
Advanced options (BYHOUR, BYMINUTE, BYSETPOS)

Picks the Nth occurrence in each period after the other BY* rules expand. Negative values count from the end.

Ends

Start date and output

Floating time is wall-clock with no zone. UTC pins the start to Zulu time.

RRULE string

FREQ=WEEKLY;BYDAY=MO,TU,WE,TH,FR

DTSTART + RRULE block

DTSTART:20260608T090000
RRULE:FREQ=WEEKLY;BYDAY=MO,TU,WE,TH,FR

Plain English

Every week, on Monday, Tuesday, Wednesday, Thursday, and Friday, with no end date. Starts 2026-06-08 09:00.

Next occurrences

  1. #1Mon, Jun 08, 2026, 09:00 AMMonday
    2026-06-08T09:00
  2. #2Tue, Jun 09, 2026, 09:00 AMTuesday
    2026-06-09T09:00
  3. #3Wed, Jun 10, 2026, 09:00 AMWednesday
    2026-06-10T09:00
  4. #4Thu, Jun 11, 2026, 09:00 AMThursday
    2026-06-11T09:00
  5. #5Fri, Jun 12, 2026, 09:00 AMFriday
    2026-06-12T09:00
  6. #6Mon, Jun 15, 2026, 09:00 AMMonday
    2026-06-15T09:00
  7. #7Tue, Jun 16, 2026, 09:00 AMTuesday
    2026-06-16T09:00
  8. #8Wed, Jun 17, 2026, 09:00 AMWednesday
    2026-06-17T09:00
  9. #9Thu, Jun 18, 2026, 09:00 AMThursday
    2026-06-18T09:00
  10. #10Fri, Jun 19, 2026, 09:00 AMFriday
    2026-06-19T09:00

Parse an existing RRULE

Paste a full RRULE (with or without a leading RRULE: prefix) to load it into the builder.

How to use

  1. Pick a frequency (DAILY, WEEKLY, MONTHLY, or YEARLY) and set INTERVAL to fire every N units (every 1 day, every 2 weeks, every 3 months, and so on).
  2. Select weekdays for BYDAY, type ordinal BYDAY tokens like 1MO or -1FR for monthly and yearly rules, set BYMONTHDAY for days of the month (use -1 for the last day), and pick BYMONTH for yearly rules.
  3. Choose whether the schedule runs forever, stops after N occurrences (COUNT), or stops on a specific date (UNTIL, emitted as UTC Z form).
  4. Set DTSTART and pick Floating or UTC. The next 10 occurrences refresh live so you can confirm the rule fires when you expect.
  5. Copy the RRULE string on its own, or copy the DTSTART + RRULE block ready to paste into an iCalendar event or a recurring schedule field.
  6. Paste any existing RRULE into the parser at the bottom and click Apply to load every rule part back into the builder.

About this tool

RRULE Generator is a focused builder, parser, explainer, and preview for the iCalendar recurrence rule defined in RFC 5545. The RRULE is the rule that controls when a recurring event in Google Calendar, Apple Calendar, Outlook, Fastmail, Cal.com, n8n, Zapier, Temporal, Amazon EventBridge scheduler with the iCal recurrence flag, and any other iCalendar-aware system actually fires. The spec is dense and the rule grammar has a long tail of edge cases (BYSETPOS, ordinal BYDAY, BYMONTHDAY=-1, UNTIL in UTC, COUNT vs UNTIL exclusivity, WKST semantics, leap-year handling for February 29), so most teams reach for a builder rather than typing the string by hand. This tool covers the four frequencies the major calendar UIs actually expose (DAILY, WEEKLY, MONTHLY, YEARLY) with all of the practically used rule parts: INTERVAL, BYDAY (with optional ordinal prefix like 1MO or -1FR for monthly and yearly rules), BYMONTHDAY (positive or negative, with -1 resolving to the last day of each month), BYMONTH, BYHOUR, BYMINUTE, BYSETPOS (to pick the Nth match after the other BY rules expand, useful for rules like 'the last weekday of the month'), COUNT, UNTIL (emitted in UTC Z form per spec), and WKST. A live preview computes the next ten occurrences of the rule from your chosen DTSTART so you can sanity check before pasting the string into a calendar invite, an iCal feed, an EventBridge schedule, or a Cal.com recurrence config. A plain-English explainer turns the rule into a single readable sentence so reviewers and ops engineers can audit the schedule without learning the grammar. A reverse-parser takes any pasted RRULE (with or without the RRULE: prefix, and with DTSTART or TZID lines harmlessly stripped) and loads every rule part back into the builder so you can edit an existing rule or hand it to a teammate. A set of common presets (every weekday at 9, every other Tuesday, first Monday of every month, last Friday of every month, last day of every month, every quarter on the first, every year on March 15, daily for 30 days) covers the rules most teams actually need. Everything runs in your browser. The rule, the start date, and the parsed input never leave the page.

Free to use. Works in your browser. No signup, no login.

Related tools

You may also like

All tools
All toolsDate & Time Tools