Easy way to delete entire year of calendar events?

Is there an easier way to delete an entire year of calendar events in iCal other than going in to each calendar, selecting everything and erasing it? Some sort of yearly version that catches all calendars and deletes all events in them for the specified time period?

1 Like

following. I want this for me.

1 Like

This is apple scriptable I think… will see if I can come up with something, but bet @sylumer or @RosemaryOrchard beet us to it :slight_smile:

You can type a single quote " in the search field and get a list of your entire history.

Then select the first event to be deleted, scroll down and shift click the last. Press the Delete key. All gone.

hmm, not really working here. Been stuck on spinning beach ball after entering in the " mark in search for about 15 minutes now.

Might be related to the fact that I have a full set of calendar events in many calendars that goes back to 1998 on this machine. FWIW a typical day will have around 20 events on it. Some days more some less. It’s a work diary of sorts.

Later update: Finally got a list, but it’s not including all the events on all calendars. I’m looking at January 2000 in month view and there are a bunch of events but the listing stops part way thrpugh February 2001. Maybe I hit some sort of limit?

My 1 calendar only goes back about 13 years, with way less than 20 events per week. I did an .ics export of mine, opened it in BBEdit, and it is 31030 lines long. Yours could easily be in the high six figures. Maybe you ran out of ram?

Here’s hoping one of our script wizards can help you. Good luck.

I created a .ics export of the smallest calendar on my system, i.e. the one with the fewest number of events in it. Pulled that file into BBEdit and opened it up. A grand total of 124965 lines. I have no idea what one of my calendars with a lot more stuff on it will be! :astonished:

so yeah, I think I hit some limits somewhere and that’s also part of the extreme slowdown on my system too.

Seems like my email and calendars are the biggest problems. Email is hundreds of thousands of messages and calendar is also huge.

If you don’t want to see the events but don’t mind them still existing in iCloud, you can choose to just view just the last few weeks or months.

1 Like

No iCloud at all. So the only place they are is on my iMac. I’m trying ot speed it up, it’s slowed to a crawl. SO cleaning off lots of old files only bought me 100GB of space. I’m trying to clear out email and calendars too and see if that helps.

1 Like

@OogieM OK, I’m still tossing ideas against the wall. Would you be interested in archiving your email & (hopefully) calendars to EagleFiler?

Archiving email is a built in EF function. But if it has a problem due to the amount of mail you have, have mail.app export your mail folders to .mbox files then import/drag those into your EF library.

If Mail.app chokes due to the amount of mail in a folder, you can move your messages into as many folders as necessary before exporting. EF has no problem with multiple mbox files in a single library.

Finally, IF you can export your calendars as individual .ics files. Import/drag them into EF and they will look like this:



1 Like

No, but I am archiving email into DEVONThink. Started the project with DT2, its automatic import bogged down a lot with the size and failed but the DT3 version works better. Before trying DT I had tried MailSteward, also a failure. I’m down to something like 60K messages in mail right now so getting there. I started with over 200K of them.

My initial question regarding deleting events in calendar is related to my workaround for the calendar files.

I created PDF files of each month for all my old calendars.
Import into DT3 using OCR by importing an image.
Now I can search the old stuff in DT successfully.
Where my workflow bogs down is then trying to delete the events in those years in an efficient manner.
I’m up to mid 2000 now doing it by hand. I may get to March 2001 sometime today and can then try your " version of deleting stuff in bulk as I may be within the limits of display in calendar.

1 Like

Why not just delete the whole calendar once it’s archived to dt, then start anew?

Because I want to keep a rolling year of past events on my Mac for quickest lookup and not lose the future events I have scheduled already.

right but wouldn’t it be easier to copy a years worth of items to a new calendar rather than delete many years of old events?

I can’t figure out quite how to do that that also catches all the future events. I already have things scheduled for the next 5-6 years. Slaughter dates for sheep are scheduled 2 years in advance for example and there are more. Honestly I don’t even know how far into the future the furthest date is I have scheduled an event for. When it comes up I put it in the calendar and trust that I’ll see it when it’s time.

If I can just get enough done to use the shortcut described above to delete things in bulk that should work.

Update:Finally got the calendar cleaned out enough to see the start of the existing events. But when I tried a small sample (1 weeks worth) by selecting and then trying to delete the entire system hung up frozen for several hours, at which point I force quit calendar and have gone back to deleting each event individually.

Sure seems like there ought to be an option to delete a month or a year as a menu item. :sigh:

1 Like

Sorry to hear that the list edit didn’t work.


One last suggestion, though it involves Google: export the Apple Calendar to Google Calendar (which I know you’re loathe to to), then use the Agenda view to select date ranges for mass deletion. Then export the remaining events back to Apple Calendar. Details on the GC side of the process here.

For $10 there’s one month’s usage of GCalToolkit, which apparently offers easy date-range manipulation of GC calendar events.

Maybe you can do this using Scriptable on an iOS device?

Using CalendarEvent’s between and remove methods?

EDIT: Oh no, it was a local calendar on your Mac…


After deleting by hand all events from 1998-2008 after verifying import and OCR of the list version of a PDF print of the events I was finally able to get the bulk delete using the " in the search bar, scrolling to the end, click the oldest item and then shift click a batch to work.

However there are several issues:

It takes quite a long time for the sidebar list to actually populate with everything and if you try to move the cursor and delete things before it’s finished it hangs in a spinning beachball for hours.

So my tactic has been in month view move back to the oldest month with events still in it I want to delete. Then do the " in the search bar and wait, usually on my machine it takes about 10 minutes before you can successfully move the scroll in the sidebar to the end and actually have it display all the events.

Deleting more than a month’s worth at a time is a recipe for disaster. It hangs or only does partial deletes.

Even when you do the shift click and everything looks properly selected, some events won’t actually delete. I can’t figure this one out so instead I just wait until it’s done then select those in the month view and do a manual delete.

The side bar will NOT update and appears to show that the events are still in the calendar. Ignore it and press on. At the end of each year reboot the system. Not sure why but if I don’t things go all wonky.

I do not use wifi to sync my iOS devices I do it manually. When I do the sync make SURE that the mac overwrites device option is selected in iTunes for calendar or all your hard work comes back to haunt you and you get to do it over again.

Import of a years worth of PDF files into DEVONThink with OCR takes about 12 minutes. Delete of a years worth of events using the procedure above takes about an hour. Reboot takes about 15 minutes (yes my machine is very slow to boot up.) So about an hour an a half per year of calendar cleared out.

I am up to 2011 and only have to get to 2017 done. I plan to keep a rolling 2 year calendar avail.

I have already added the calendar clean-up to my monthly checklist so that I can keep on top of it.

Too bad there isn’t an option to set Mac Calendar to automatically delete events older than some user defined timeframe.

I’d also like a permanent Mac overwrites iOS option in iTunes for my calendars with that being the default and only when I know I have entered stuff via iOS do I want to have it actually sync. Basically reverse of how it works now.

Anyway figured I’d post again so anyone else with the issue can see my solution.

PS. At least some of the events that will not delete using the sidebar are repeating events. But some of them will get deleted so that’s not the entire issue.