iCal Archiver
iCal Archiver
If you've been using a Mac for years, you probably have hundreds or thousands of old events stored in iCal. All of that legacy data can bog down iCal and make it slow. And if you're syncing your calendars with others using BusySync, you're probably slowing them down too.
You can significantly increase the performance of iCal by archiving these old events using iCal Archiver.
iCal Archiver is a free utility that copies old events to an archive calendar and deletes them from the source calendar. The archive calendar can then be exported for safe keeping, and deleted from iCal. Once the old events have been deleted, iCal's database should be much smaller and require less memory, resulting in faster performance.
Note: iCal Archiver works only on Leopard and Tiger and does not work on Snow Leopard. As an alternative, download BusyCal and perform the following steps to archive old events in iCal.
- Launch BusyCal. It will read in all of your data from iCal.
- Select New Calendar from the File menu and name it "Archive Calendar".
- Switch to the List View and set a date range of Decade from the popup menu on the left to display a list of events in the last 10 years.
- Check the calendars in the source list that you want to archive. Make sure all read-only calendar subscriptions, like US Holidays, are unchecked.
- Shift-select all of the old events, then right-click on one of them and choose Calendar > Archive Calendar from the popup menu to move all of the old events to the Archive Calendar.
- Optionally, after you've moved the old events to the Archive Calendar, you can export the Archive Calendar by selecting it and choosing File > Export and saving it to the desktop. After exporting the Archive Calendar, you can delete it in BusyCal by right-clicking on it and choosing Delete.
- BusyCal syncs with iCal. Therefore, when you launch iCal all of the changes you made in BusyCal will sync to iCal and the old events will have been archived.
How to use iCal Archiver
Launch iCal Archiver and select the following options:
- Source calendar — You may archive events from all calendars, or a single calendar.
- Archive date — All events prior to the archive date will be copied to a new archive calendar and deleted from the source calendar.
When you click Start, a new Archive calendar will be created and all events prior to the archive date will be copied to the archive calendar and deleted from the source calendar. The progress will be displayed on the bottom of the window while the events are being archived.

Processing can take a while depending on the size of your calendar. Make sure you allow plenty of time for processing to complete and do not use or quit iCal while iCal Archiver is running. You may click the Stop button at any time to stop processing.
An alert will be displayed once processing is complete, recommending that you export and delete the Archive calendar from iCal.

To do so, select the Archive calendar in the source list, choose Export from the File Menu, and save the calendar as an ics file.

Then control-click the Archive calendar and choose Delete.

After deleting the Archive calendar, quit and relaunch iCal to save your changes and refresh the iCal database. Your iCal database should be much smaller now and require less memory, resulting in faster performance.
If you need to access the events on the Archive calendar at a later date, you can import the Archive calendar by double-clicking the ics file.
Note: iCal Archiver uses Apple Events to communicate with iCal, which can be very slow, especially when modifying a lot of events. So, it's quite possible that it could take hours or days to archive a large calendar.
As an alternative, you can manually export calendars by selecting each calendar in iCal and choosing File > Export, and save the file for safe keeping. Then use iCal's built-in preference for deleting old events.
To do so, select iCal > Preferences > Advanced and select Delete events x days after they have passed. You can do the same for To Do items. If you enter a value of 365, then all events older than 1 year (365 days) will be deleted from iCal. For the change to take effect, you'll need to quit and relaunch iCal. It will take a while for iCal to process the changes, so be patient.