GCalToolkit is a very powerful tool, and should be used with caution: Please backup your Google calendar to iCal before you start (in Google Calendar "Settings" > "Calendars" > "Export"), and take the time to learn how GCalToolkit works before you use it on mission-critical calendars. The two most important things to note are:


It is important to understand that repeat events are defined by a single row with a repeat rule (in the "RRULE" column). You can right-click repeat events and select "Download Repeat Series" to download each occurence of a repeat event. You can also do this from the main menu for multiple events, or simply download the calendar(s) using a Date Range on the opening screen.

The Google Quota: Google Calendars has a daily (and maybe weekly) quota system that limits accounts to approximately 18,000 events downloaded/edited/deleted within a 24 hour period. Accounts with mass duplication issues will often hit this quota limit during faulty syncing and exhibit unusual behaviour such as slowness, problems creating new calendars, and problems exporting a backup as zipped iCal files (the surest sign of quota problems). The solution is to disable ALL syncing with Google Calendar (or simply change your Google Account password), and be patient. Google will usually reset your quota within 24 hours, at which time you should immediately create an iCal backup of your calendar data (regardless of duplicates), and then start cleaning up your Google Calendar with GCalToolkit as described on the rest of this website.

If you experience problems when using GCalToolkit on large calendars then please bear this in mind - if the problem persists please send me an email or use the contact page to get in touch, and include as much detail as possible about your situation.

"VISIBLE" vs "SELECTED": Events that display in the main scrolling window are said to be "Visible" - you use filters etc to configure which events display in this window, with a view to deleting or editing them en masse. "Selected" means that the events have been highlighted and appear with a blue background. Select events by either by using the buttons, clicking on a row, ctrl-clicking or shift-clicking to select multiple rows, and click-dragging to select (or deselect) a range of events.

"Preview Changes" / "Resume Editing": This displays all the events that will be changed (regardless of your filters) when you click "Save". Click again to "Resume Editing", with your filters applied as before.

"Back to Calendars": Return to the Main Screen to log in to a different Google Account, or download other calendars.

File Menu > "Save as Spreadsheet": This saves an Spreadsheet (.xls) or CSV (.csv) file containing only the visible events, subject to the Event types chosen, any filters that you have applied, and the columns you are viewing. To open in Excel you may need to choose "Import" and specify "Unicode UTF-8" and "Comma Separated".

FILTERS: Used to display only the events that you wish to edit, delete from Google, or export as a spreadsheet

"Filter Events": Select This updates the events list according to the DATE and TEXT filter settings above the button. The dropdown lists below allow you to filter, in addition to DATE/TEXT,by the type of event (repeats, singles, all day/timed, and visibility).

Select the Date / Text checkboxes first, then select dates or enter the text to filter, then click "Apply Filters" to display only the relevant events.  Set a filter to "No Text Filter" or "No Date Filter" and click "FILTER EVENTS" to return to display all the downloaded events with no filters (apart from the event types chosen below).  You should use filters in conjunction with "Delete Visible Events"  and many other functions in the "Edit Selected Events" menu. You can also use Regular Expressions to both Filter and Search/Replace in Titles, Descriptions and Location fields. 


"Delete Visible Events": All the events that are visible in the entire main scrollable window will be marked for deletion. This only applies to visible events - subject to any date and text filters that you may have applied, and to the main "Display EVENT" types that have chosen to display.

"Keep Visible Events": Any visible events, including duplicates, that are marked for deletion will be unmarked, and will not be deleted when you save to Google. Again, this only applies to visible events - subject to any date and text filters that you may have applied, and to the main "EVENT" types that you have chosen to display.

 "Delete Selected Events":Any selected rows will be marked for deletion. To select multiple rows either hold down the "Control" key and click multiple events, or click the first event of a given range then hold down the "Shift" key and click the last event in the range. You can also click and drag with the mouse to select a range or events and then hold down the "Control" key to deselect events selected on subsequent clicks. This can be used in conjunction with ordering - simply click certain column headers to order events by that column, e.g "Created" date or "Start" date.

"Keep Selected Events": Any selected rows will be unmarked for deletion.

"Delete All Duplicates"When you download a calendar all the duplicates are automatically marked as "Duplicates" and "To Be Deleted" as soon as you click "Save". If you choose "Delete No Visible Events", thereby unmarking all events (including duplicates) for deletion, you can reselect the Duplicates for deletion here.

"Search/Replace": Replace any text in the Title, Summary or Location of all the visible events. You can choose to apply this to selected events, visible events, or all events - subject to any event, date and text filters that you may have applied. Full Regular Expressions can be used, with groups '()' in search terms referred to as $1 etc in 'Replace'. For example, to add 'XXX' to the start of every title you would search for (.+) and replace with XXX $1
For more complicated search/replace patterns please refer to standard RegEx tutorials or get in touch.


This contains many useful functions to mass edit selected events. Change hidden events properties, attach Google Drive documents with just a filename in the description such as "<MyDocName>", revert changes to text fields, update/revert free/busy status, reminders, and more.

Auto Attach Google Drive Files (pre v2.1.8):

Please note: this option will be removed from v2.1.8 onwards because it uses a  "restricted permission" for which Google now requires lengthy yearly checks of the code. Please get in touch if you need this going forwards and I'll find a solution for you.

To attach files you can add a filename of at least 4 letters/numbers between the tags you define in the Options > Attachments; by default you can use <> so to attach a file called 'test' you would put <test> anywhere in the location or description. The first match in Google Drive whose title contains the text you tagged will be attached, and the tags replaced or not, according to your Options.

You can also add multiple files,by using, for example, <invoices-2017-001-012> or any variation that has two hyphenated groups followed by two more to specify the range. The above example will attach all files matching the name "invoice-2017-001", "invoice-2017-002", "invoice-2017-003"... The tags that you added can be replaced with an indicator <+12 invoices-2017>, again configured in Options > Attachments. Once you have added the tags in the descriptions/locations for your events you need to select all the items in your calendar that you want to tag (or just select/highlight all events by selecting an event and clicking ctrl-a), select the auto-attach option in the "Edit Selected Events" dropdown list as shown in the attached photo, and click "Apply". Your files should now be ready to link, which you do by clicking "Save".

Toggle "Busy" setting: Once you have used the filters to display (or you have manually selected) a group of events you can select these to switch the Free/Busy status of all the events at once.

Toggle "Guests Can Modify" option:  When sharing events or entire calendars this enables you to make mass changes to the access accorded to guests, allowing them (or not) to make changes to events.

Apply Default Reminder: Use this to set many events to the Google Default Reminder that you have configured in the Google Calendar Settings.

Delete Reminders: If you've read this far then you've got the hang of this by now :-)


Repeat events are displayed with a black border around the Start column. You can expand repeat events to multiple singles: first select a repeat, then right-click and choose "Download Repeat Series". To do this for multiple events first select all the events you wish to download, then click the Edit menu, and select "Download Repeat Series". The original repeats will be replaced by single instances of every occurence, which can be deleted, edited etc.


Right-click any event and click "Open in Google Calendar" to view the event in your default browser - you must be logged in to the correct Google account in the browser for this to work. 


Once you have used the filters to display (or you have manually selected) a group of events you can use this to copy all the displayed or highlighted events into a different calendar (which you must create first in Google Calendar "Settings"). If you "Move" events the original will be cloned, and then deleted once successfully copied; Copy and Move keep all information intact except Guests, which are removed by default for Copy unless you check the option "Add Guests On Copy", and preserved by default when Moved unless you uncheck the option "Add Guests On Move". You also have an option to shift the chosen events forwards or backwards in time during the copy/move, and a "Multiple Shift" option for Copy; this feature can be used, for example, to duplicate an entire work shift one or many times. The latest version of GCalToolkit can shift any type of event accurately, including updating exceptions to the repeat series, UNTIL dates when specified instead of the number of repeats, and BYDAY days for weekly events.


"Duplicate Detection": The rules for duplicate detection can be relaxed to include any events with exactly the same title & start time, or any other criteria - select "Duplicates Tab" in the Options menu in the Events Window.

"Set Preferred Calendar":
If you have downloaded multiple calendars and there are duplicates across several of them then GCalToolkit needs to know in which calendar you would like to keep the original event. By default this is your main calendar - in this window you can choose a different calendar as your "preferred calendar".

Other settings here include whether to keep Guest information intact when performing COPY and MOVE, visual themes, and your LICENCE registration details for the full version.

Using GCalToolkit with other calendar software

If you use Outlook®, iCal, Sunbird or any smartphone (Android, iPhone, Blackberry...) that can sync to Google, then you can set up 2-way sync between your calendar and Google Calendars to take advantage of the power of GCalToolkit - this means that you can delete duplicates, mass edit, mass delete, search/replace, shift events, spreadsheet export etc. in nearly any calendar software using GCalToolkit. Please read the "Desktop Guide" for more information on the full editing power of GCalToolkit.

If you have an iCal (.ics) or .csv calendar file with duplicates that you need to remove, or multiple events that you need to delete, simply import the file into a blank Google Calendar, then use GCalToolkit to remove the duplicates, or edit/delete multiple events. When you are finished, export the result as a new iCal (.ics) file to be imported into whichever calendar software you use. If you use the Mac "Calendar" software formerly known as iCal... you can either export an iCal (*.ics) file and import it to Google Calendar for editing with GCalToolkit, or set up 2-way sync with Google Calendar instead.

For information on downloading and installing GCalToolkit please visit the Download page

New Features in Version 2.x

GCalToolkit v2.x has many fantastic new features to help you repair and maintain Google Calendars, such as Meet management, RRULE editing, Dark Mode, Modified date, in addition to the v1.x features such as mass color edits, fully customizable column views and spreadsheets, adding prefixes/suffixes, case sensitive filtering (and regex support), mass editing of busy/free status, mass editing of the "guests can modify" field, a "shift" events option in the "Copy/Move" menu to allow you to duplicate groups of events (such as a work shift) that do not lend themselves to regular repeat event rules... and many more improvements and additions to make calendar maintenance and repair with GCalToolkit easier and more powerful than ever before.


Q: What is the easiest way to delete all my Duplicates from Google Calendar and synced devices?

A: Install and run GCalToolkit, follow the simple steps to load your Google Calendar, check the number of duplicates detected, then click "Save" and wait. That's it!

Q: What does "Quota Restricted" mean?

A: Google Calendars has a mysterious quota system that limits accounts to approximately 18,000-20,000 events created/edited/deleted within a 24 hour period (although it is sometimes 9,000 events, and there may be weekly quotas too).  If you experience problems when using GCalToolkit on large calendars, especially if you have had syncing problems that created duplicates, then please bear this in mind. Quota is usually reset by Google every 24 hours, although some users with very large calendars (>20,000 events) and sync problems have sometimes had to wait up to 9 days for the quota to be reset... Symptoms of Quota problems include failed GCalToolkit downloads, failed deletes/edits, sluggish calendar behaviour in the browser, problems creating new calendars, problems "Exporting" Google calendars in "Settings" > "Calendars". 

if the problem persists please use the contact page to submit a support request, including as much detail as possible about your problem. 

Q: I can't even "Export" my calendars from Google Calendar Settings > Calendars!

A: This is the most sure sign of the quota problems described above - as you approach the quota limit, GCalToolkit may only be able to download parts of your calendar even though browser behaviour appears normal; if you are unable to "Export" in a browser then you have a serious quota problem - please contact me for information on who to contact, where to leave help requests, and exactly what to say.

Q: GCalToolkit is not working, and I do not think it is a Quota problem.

Please check that your firewall or other security software is not blocking GCalToolkit from accessing the internet, and that you have a stable internet connection. Office networks can be troublesome - in some cases you may have to ask your network administrator to modify the network settings to allow the Desktop version of GCalToolkit to work correctly.

Q: How do I delete all my Duplicates using the Desktop Software?

A:When you download a calendar all the duplicates are automatically marked "To Be Deleted" and will be colored red.  When you click the blue "Save" button all the duplicates that have been detected (within the events that you downloaded) will be deleted from Google. The total number of events, and the number of duplicates is displayed top right - and you can click "Preview Changes" to see a list of the duplicates that will be deleted before you Save.

If you change your mind and wish to restore the duplicates that you deleted, go to Google Calendar Trash and restore the events.

If your duplicates are not detected, please change the duplicate detection settings in the "Options" menu, "Duplicates" tab.  This allows you to relax the duplicate detection rules to include any events with only the same title & start time, for example. Sometimes you may have duplicates that are not detected because the repeat rule is formulated slightly differently by some syncing software, or there is an invisible space in the Location; this option lets you ignore these differences.

Q: My Calendar is not in Google Calendar - can I still use GCalToolkit to remove duplicates and edit my calendar?

A: Yes. If you are use Outlook®, iCal, Sunbird or any smartphone (such as iPhone, Blackberry or Droid) that can sync to Google, then set up 2-way sync between your calendar and Google Calendars to take advantage of the power of GCalToolkit - this means that you can delete duplicates, mass edit, mass delete, search/replace etc. in other calendar software using GCalToolkit as long as it will sync, or you can import the calendar to Google Calendar.  Please see Google Sync for more information on how to sync with Google Calendars.

Alternatively, if you have an iCal (.ics) or .csv calendar file with duplicates that you need to remove, or multiple events that you need to delete, simply import the file into a blank Google Calendar, then use GCalToolkit to remove the duplicates, or edit/delete multiple events.  When you are finished, export the result as a new iCal (.ics) file to be imported into whichever software you choose to use. 

Q: Today I imported/synced another Calendar to Google and now my calendar is a complete mess! Can GCalToolkit help?

A: Yes!   GCalToolkit can filter events by the "Created" date/time to delete a specific Import/Sync (see "Delete Selected Events" below).  

For example, if a failed import attempt mixed two calendars together in a single Google Calendar, you can delete all events that were created by the failed import without affecting your pre-existing data, even if the dates and times are all mixed up together.  Or, if you sync another calendar to your Google Calendar and then need to delete data that has been mixed in with your existing data, simply load up your Google Calendar in GCalToolkit, and filter the events by "Created" date and click the "Delete Selected Events" button in GCalToolkit to mark all the highlighted events for deletion and then "Save". Hey presto! All events created during the last faulty sync/import will be deleted leaving all your previous data intact. Please note that the "Created" column refers to the date and time that an event was initially created in Google Calendars - only events that are created (not modified) during syncing, and any events created during an import, can be deleted in this way. 

Q: I made changes to my Google Calendar using GCalToolkit Desktop Software, closed the program then went to Google Calendars in my browser and saw that I had made mistakes - what can I do?

A: You did make a backup before you started, didn't you? Some things can be reverted in GCalToolkit as long as you have not yet closed the program. For example, you can undo edits to Titles, Descriptions and Locations using "Set Original Texts" in the "Edit Selected Events" drop-down box. You can do the same with RRules, Guests, Colours, Privacy, Busy/Free etc. However, you cannot undo copy/move operations, or recreate Meets with the same Meet IDs.

Please note that if you have edited your Google Calendar manually in your browser since you used GCalToolkit to edit/delete then you may see unexpected results because GCalToolkit would be trying to work with an outdated copy of your calendar.

Q: I'm using the trial version of the Desktop Software to delete my duplicates - why can I still see some duplicates this month?

A: The trial version only downloads 500 events:  any repeat event from BEFORE this period will NOT display, and if these are duplicated then they will not be detected.  To be 100% sure that all your duplicates are removed, please purchase and unlock the full version. If you still have trouble, adjust the duplicate detection rules in the "Options" menu.

Q:  Can I change the order in which the events are listed in GCalToolkit?

A: Yes. You can click at the top of most columns to order the events - for the title, summary and location columns this will put the events in alphabetical order; click again to reverse the order. Under "Events" you can choose whether to display only all day events, only all day repeats, only singles, only timed singles... 

Q: I get an error message when trying to load my calendar.

A: Google Calendars servers are sometimes busy... so if you see ERROR 403 or 404 please wait a minute and try again.  If the problem persists for a few hours then you should check that you have a stable internet connection, and that nobody else is logged in and editing your Google Calendar account.  If that doesn't help, try another Google Calendar to see if that particular Google Calendar has a problem - you may have corrupt events or another issue that is preventing GCalToolkit from downloading that calendar. Please do not hesitate to contact me for help on the contact page, including as much detail as possible about your problem.  

Q: How do I "Unlock" GCalToolkit Full Version?

A: First you need to register on this site (use "Login with Google" for the easiest registration option) and follow the payment instructions. All payments are made on Paypal for security reasons - but you do not need a PayPal account to purchase GCalToolkit; most credit cards are accepted too. Once your payment has cleared you can Unlock as follows:

1) Install and run GCalToolkit
2) Either fill in your details in the "Registration" window which shows every time you click "Fetch Events", or click "Options" in the Menu and open the "Licence" tab
3) Enter the Email and Invoice number that you received after payment.
4) Click "Save" and restart GCalToolkit. 

Q: I registered, purchased and "Unlocked", but GCalToolkit is still in Trial Version. What should I do?

A: Please check your internet connection was active, and copy/paste your email address and invoice number. If that still does not work, please contact me on the "Contact" page for help with details of your system and any error messages.

Q: I purchased GCalToolkit but I would like a refund.

A: Please get in touch explaining exactly why you wish a refund.

Q: Will you communicate my email address to others?

A: Never. You may get the occasional update from me, nothing more.

www.gcaltoolkit.com is not affiliated with or endorsed by Google Inc.
GOOGLE is a trademark of Google Inc