About This Tool
A birthday should not disappear from your calendar just because you do not know the person's birth year. A dinner reservation, meanwhile, should not quietly become an annual occasion. The tracker keeps those two kinds of record separate: birthdays have month and day fields, while other events have an original calendar date and a repeat choice.
Use it for a collection you want to return to, rather than a calculation you only need once. Each saved card shows the event category, its occurrence date and a countdown. When the original year is known and the date has been reached, the card can also show completed years and days since the original date.
How to Use: Add Once, Then Maintain the Record
- Enter a recognizable Event Name and choose Event Category. Names such as “Dinner reservation” and “Wedding anniversary” are easier to distinguish later than “Our day.”
- For Birthday, enter Birthday Month and Birthday Day. Leave Birth Year (Optional) empty if you do not know it. Other categories use Event Date.
- Choose Every year for an occasion that returns annually, or One time for an arrangement that happens on a particular date. A birthday without a year must repeat annually.
- Add useful context in Notes (Optional). Open Leap Day & Reminders to choose a February 29 rule or an in-app reminder window, then select Save Special Date.
- Use Search Events, Filter by Category and Date Order to find saved records. Edit opens the existing record; Save Changes updates it. Delete asks for confirmation.
Practical Examples: A Birthday and a Reservation
These are illustrative records, not people whose information has been collected. The tracker has no reference-date input: its live countdown always uses the browser's local today. The fixed reference dates below make the recurrence checks reproducible.
Save a birthday without inventing an age
Inputs & conditions
| Event Name | Friend's birthday |
|---|---|
| Event Category | Birthday |
| Birthday Month | 6 |
| Birthday Day | 18 |
| Birth Year | Leave blank |
| Repeat | Every year |
Verified result
| Saved birth year | None |
|---|---|
| Age display | Omitted |
| Next occurrence at reference 2027-06-08 | 2027-06-18 |
| Days remaining at that reference | 10 |
The month and day are enough to find the next celebration. A blank year remains unknown; the tool does not estimate an age.
Keep a reservation attached to its actual date
Inputs & conditions
| Event Name | Dinner reservation |
|---|---|
| Event Category | Other |
| Event Date | 2027-08-07 |
| Repeat | One time |
Verified result
| Occurrence at reference 2027-08-06 | 2027-08-07 |
|---|---|
| Occurrence at reference 2027-08-08 | 2027-08-07 |
The date stays August 7 after it has passed. Its card becomes a past event rather than a booking for the following year. Edit the record only if the reservation itself changes.
How It Works
Annual records are matched to the current year first. If that occurrence has already passed, the next year's date is used; an occasion today stays today. February 29 follows the rule saved with that record. One-time records keep their original date.
Upcoming counts saved records whose occurrence is today or later. Remembered is the total saved collection. This Month includes occurrences earlier in the current month as well as those still ahead. Search matches titles and notes; category filtering does not rename or merge records. Two events can share a date without becoming the same record.
Important Notes
A reminder preference is an in-site window, not an email or a guaranteed notification after the browser closes. Export to a calendar application if you want to configure calendar notifications, then check that application's behavior.
Saved dates belong to this browser profile and site address. Clearing site data can remove them. Keep a full JSON backup in the Calendar & Exporter before clearing storage or moving browsers; IndexedDB storage does not itself guarantee encryption.