GCalToolkit is a very powerful tool capable of deleting or editing your ENTIRE GOOGLE CALENDAR. PLEASE back up your calendar as an iCal file (under Google Calendar Settings, Calendars, "Export") before using GCalToolkit.


It is also 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, or you can do this from the main menu for multiple events.

If you did not download GCalToolkit from this website, please install the latest version from the Download page. If GCalToolkit does not work as expected, please first read the "Google Quota" section at the bottom of this page. Please note that the Trial Version is limited to a maximum of 500 events.


Step 1: Connect to Google Calendar

Before using GCalToolkit you need to connect to your Google Calendar and download a calendar.

First click "Connect to Google Calendar" and your default browser will open so that you can authorize GCalToolkit to modify your calendars and access Google Drive (GCalToolkit can attach Google Drive files to calendar events en masse). The window on Google's website will look like this:

authorize on google


Step 2: Fetch Events

Once you have logged in you will see the list of your Google Calendars and you are ready to select one, or several, and click "Fetch Events".

In the Full Version of GCalToolkit you can choose to download "Download Date Range as Single Events". This will expand all repeats to display as multiple single events, and will therefore also display events that are part of a repeat series starting before the selected date range. (Please see "Google Quota" below).  Use this option if you want to export events to a spreadsheet with multiple entries for your repeat events, or delete singles that duplicate repeats.

Step 3) Unlock GCalToolkit or run the trial version:

Google Calendar Events in GCalToolkit

Fill in the email address with which you registered on www.gcaltoolkit.com, and your Invoice ID. The Invoice ID can be found in the confirmation email that was sent after payment, on your PayPal receipt, and on the "Membership" page when logged in to gcaltoolkit.com. Alternatively you can use your www.gcaltoolkit.com password, as in earlier versions of GCalToolkit.

Step 4) The GCalToolkit EVENTS WINDOW:

Google Calendar Events in GCalToolkit


"SAVE" to Delete Duplicates

If your aim is simply to remove duplicates, you only have to click this button to remove all the duplicates detected by GCalToolkit.

This button applies all the changes to your Google Calendar. You can interrupt this process if necessary by clicking the "Cancel" button.  The totals top right keep you informed as to the changes that have been made, and those that will be made when you hit "Save" - use "Preview Changes" to check what will be changed before you do so.


EVENTS WINDOW OVERVIEW: GCalToolkit displays a list of all the events downloaded, including the Title, Summary (Description/Note), Location, Start and End Times/Dates (All Day Events are GREY), whether the event is a repeat (unless you downloaded with the option "Display Repeats from Earlier Events" above). The events window displays all the downloaded events unless you have applied event, date or text filters, or if you have clicked "Preview Changes", in which case all the events that are to be changed in your Google Calendar will be displayed. You can click on column headers to sort alphabetically etc and resize the columns and rows, and right click on the column headers to choose which columns to display or hide. This also hides columns when exporting to a spreadsheet.

"Detect 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 "Keep Visible Events", thereby unmarking all visible events (including duplicates) for deletion, you can reselect the Duplicates for deletion with this function.


"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'. Please refer to standard RegEx tutorials.


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:

To attach files you need to 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.


How to clean up failed Syncs/Imports

GCalToolkit lists events in rows and columns - you can change the order of the events by clicking at the top of a column.  This allows you to click the "Created" column header to order your events by the date that they were created/imported/synced to Google Calendars, and then use multiple selection (ctrl/shift click + "Delete Highlighted Events" from the Edit menu) to delete an Import/Sync.

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.  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, then click the "Created" column header to order the events by "Created" date. Next select the first event row created at the time of the sync, hold down the "shift" key and click the last event row of the rogue sync.  Finally hit "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 will be deleted leaving all your previous data intact. Alternatively, you can use the DATE filter in conjunction with the "Created Date" option, but this is less accurate so you may have to manually deselect some events (you can only specify the DATE, not the TIME in the filters)


Introduction to the "Google Quota"

Google Calendars has a quota system that limits accounts to approximately 18,000 - 20,000 events edited/deleted within a 24 hour period. If you experience problems when using GCalToolkit on large calendars then please bear this in mind - if the problem persists please contact me on the contact page. Please note that if you have recently had a problem involving the creation of large numbers of duplicates then you may already be at, or near, your daily quota; if this is the case, be sure to first remove the source of the duplicates (usually Blackberry or Outlook syncing) and wait 24 hours for your quota to be reset before using GCalToolkit.

What can GCalToolkit do for you?

  • Load multiple calendars from a Google Calendar account. This allows you to remove duplicates that are spread across several calendars (and select a "preferred calendar" in which to leave the original event), and search, delete, view or export events across multiple calendars within a single account.

  • Make mass changes to event titles, descriptions, locations, repeat rules (RRULE), meets, "busy/free" status, colors, privacy, "Guests Can Modify", guests, attachments and reminders based on your chosen filters and/or manual selection.

  • Copy/Move events between calendars within an account. This allows you to split a calendar into several secondary calendars. For example, you can move all events with "Birthday" in the title to a new "Birthdays" calendar... or move all your "Busy" events into a separate "Busy" calendar... or put all your repeat events into a "Recurring Events" calendar.

  • Shift events forwards or backwards in time, and create duplicate events to repeat at regular intervals: when you copy/move you can check the option "Shift Events" to change the time/date of all the highlighted/visible events. This lets you replicate days, weeks or even entire months without having to copy each event by hand. This can be very useful for rescheduling timetables or  work shifts that follow patterns that do not work well with ordinary repeats. Although this function can also be used to create "fake" repeats please consider using genuine repeats whenever possible. The shift function will also allow you to change the time/date for repeat events, and will even shift exceptions to repeat rules and end dates defined by a date; as usual please back up first, just in case.

  • Make mass changes to your reminders: With GCalToolkit you can reset thousands of reminders to either the default reminder (pop-up, email to be configured in your calendar settings), or no reminder at all.

  • Case Sensitive/Insensitive text filtering with positive or negative search, and regex support

  • Automatically attach Google Drive files to calendar events (see options for help)

  • Column hide/show and sorting for most event properties

  • Totals display for edits/deletes/copy/move etc

  • Improved logic to eliminate unnecessary event updates

  • Colour coded cell backgrounds when events are marked for edit, copy, move, delete etc.

  • Total control of spreadsheet output columns

  • Sort, filter and edit with any criteria: e.g set all meetings before 2017 to private and move them into a different calendar

Please export your Google Calendars as an iCal File (under Settings > Calendars > "Export") BEFORE using GCalToolkit - the software doesn't make mistakes, but you might.... and GCalToolkit is too powerful to use without making a backup first.

  • Remove any number of duplicate events in a few clicks

  • Clean up failed Syncs/Imports with ease

  • List / Delete events between specified dates

  • List / Delete events by the date they were created in Google Calendar

  • List / Delete events based on event type and text/dates filters

  • Export filtered/sorted event list to spreadsheet

  • Mass edits to Text, Colors, Meets, RRULEs, Reminders, Free/Busy, Privacy, Reminders, Guests Can Modify

  • Need GCalToolkit to do something else? Let me know.

  • FREE TRIAL - Online Tool max 500 events

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