toolsfreeno account, nothing leaves your browser

RRULE builder

Writing an RRULE by hand means reading RFC 5545 to find out that the last Friday of the month is BYDAY=-1FR. Pick it from a menu instead, and watch the rule and the dates it produces update as you go.

repeats
every N weeks
on these days
ends
your rule
RRULE:FREQ=WEEKLY;BYDAY=MO,WE,FR

Every week on Mon, Wed and Fri

Written by serializeRRule(), then read back by describeRRule() — the sentence comes from the rule, not from the form.

the next 6 occurrences, from today
  1. 1Fri, 25 Sept 2026
  2. 2Mon, 28 Sept 2026
  3. 3Wed, 30 Sept 2026
  4. 4Fri, 2 Oct 2026
  5. 5Mon, 5 Oct 2026
  6. 6Wed, 7 Oct 2026
start from a preset

These are the presets kloq’s own recurrence menu offers, from presetsFor(). Already have a rule? Explain it instead.

where this comes from

It is one function out of a calendar.

This page runs serializeRRule(), describeRRule() and presetsFor() from kloq — the same code that ships in kloq, not a re-implementation. Every interaction in the calendar is built to this standard, which is the whole pitch.