How to Merge Two Google Calendars (2026 Guide)
If you have two Google calendars (personal and work, two work accounts, or a client and your own) and people scheduling against either side don’t see what’s on the other, you’re set up for double-bookings. Merging the calendars puts events from both into one place that attendees can read against — fixing the visibility gap.
This guide covers the three working ways to merge two Google calendars in 2026, when each fits, and the gotchas.
Quick answer
- Subscribe (overlay): see events from a second Google calendar in your primary view without copying. Read-only, refreshes every 8–24 hours.
- Export and import: one-time copy of all events into the destination calendar. Editable on the destination side, no ongoing sync.
- Automatic two-way sync: a tool like XCalSync keeps both calendars updated continuously, with filters and field controls.
If you only need to see both, Method 1 is the easiest. For attendees on each calendar to see your full availability across both, you need Method 2 or Method 3.
Need to merge multiple Google calendars (more than two) or a work + personal split? See the broader How to sync and merge multiple Google calendars guide.
Going across platforms? See How to sync your Google Calendar to Outlook.
Method 1: Subscribe (overlay)
The fastest option if you only need yourself to see both calendars at once. The two calendars stay separate; the destination just reads from the source.
- Sign in to the source Google account at Google Calendar.
- Hover over the calendar in the left sidebar → three-dot menu → Settings and sharing.
- Scroll to Integrate calendar and copy the Secret address in iCal format. Treat this URL as a password — anyone with it can read every event.
- Sign in to the destination Google account.
- In the left sidebar, click the + next to Other calendars → From URL.
- Paste the secret URL → Add calendar.
The source calendar’s events appear in the destination’s view, color-coded under Other calendars.
The two big limitations:
- Read-only. You can’t edit, accept, or move source events from the destination.
- Slow refresh. Google fetches subscribed calendars every 8–24 hours. New events created in the source don’t appear in the destination immediately.
If those are deal-breakers, jump to merge or sync.
Method 2: Export and import
This copies all events from the source calendar into the destination so they appear as native, editable events. One-time copy, no ongoing sync.
Step 1: Export the source calendar
-
Sign in to the source Google account at Google Calendar.
-
In the left sidebar, hover over the calendar to export and click the three-dot menu. Pick Settings and sharing.

-
Scroll down to Export calendar and click Export.
If Export is missing, your account doesn’t own this calendar (view-only access doesn’t grant export) or your Google Workspace admin has disabled exports.

-
Google downloads a
.zipwith one.icsper calendar your account owns. Unzip it and identify the.icsfor the calendar you want to merge in.
By default, Google’s export covers events from the past year and forward. Older events are dropped.
Step 2: Import into the destination calendar
-
Sign out of the source account and sign in to the destination, or open a private/incognito window so the two don’t get mixed up.
-
Click the gear icon in the top-right and pick Settings.
-
From the left menu, click Import & export.

-
Click Select file from your computer and pick the
.icsfrom Step 1. -
From the Add to calendar dropdown, pick a dedicated destination calendar (e.g., “Personal merged in”), not your primary. If a re-import creates duplicates, you can drop and recreate that one calendar without losing native events.
-
Click Import.

Google reports how many events imported once it finishes.
To make it bidirectional
Repeat the export and import with the accounts swapped: export from the destination, sign in to the source, import. Both calendars now contain the union of events at this snapshot moment.
What you don’t have: ongoing sync. A new event created in either calendar tomorrow won’t show in the other.
Method 3: Automatic two-way sync
For ongoing real-time sync without re-imports, XCalSync connects both Google accounts via OAuth and keeps them in step.
What it gives you that the manual methods don’t:
- Two-way sync. Edit a meeting in either account, the change replicates in minutes.
- Selective filters. Only sync weekdays, only events matching a name, skip “tentative” or “free” events.
- Title rewriting. Replace personal event titles with “Busy” in the work calendar.
- Buffer time. Add a configurable buffer before or after copied events.
- No URL exposure. OAuth-based, no public ICS URLs to leak.
- No event-window cap. Unlike Google’s export which defaults to a year, XCalSync syncs the full active range.
Setup:
- Sign up at app.xcalsync.com.
- Click Add account → Google, sign in, grant calendar access.
- Click Add account → Google again for the second account.
- Create a SyncPair: source → destination, direction (one-way or two-way), filters.
- Save. The first sync runs immediately; subsequent syncs run on a schedule of minutes.
The free tier covers a single SyncPair. Paid plans start at $4/month for two calendars.
Common questions and gotchas
Imported events show up at the wrong time
Time-zone mismatch. The .ics carries the source account’s time zone. If the destination Google account uses a different time zone, events shift. Set both accounts to the same time zone before importing if exact times matter.
Recurring events show only one occurrence
A recurrence rule didn’t survive the export. Most often this is a custom recurrence with exceptions. Edit the source event to a simpler pattern, re-export, re-import.
Workspace admin blocks the export
Google Workspace admins can disable calendar exports. If the Export option is missing, you can’t override it client-side. Either ask the admin, or use an authenticated sync tool (XCalSync) that goes through the Calendar API rather than the export pipeline.
Events older than a year are missing after import
Google’s export defaults to events from the past year. To pull older events, scroll back in the source calendar before exporting, or use a sync tool that doesn’t apply this default.
I imported into the wrong calendar — how do I undo it?
Cleaning up a mistaken import into your primary calendar is event-by-event. This is why we recommend always importing into a dedicated destination calendar — if it goes wrong, delete the whole calendar and start over. There’s no undo button on Google Calendar imports.
Picking the right method
| You want… | Use |
|---|---|
| To see events from both in one view, no copying | Method 1: Subscribe |
| One-time consolidation of a deprecated calendar | Method 2: Export and import |
| Both calendars to stay in step continuously | Method 3: XCalSync |
| Filtering or anonymizing events on the way over | Method 3: XCalSync |
For the “merge” most people search for — keeping two active Google calendars in step so attendees on either side see your real-time availability — Method 3 is the only one that delivers without ongoing maintenance.
Get started for free with XCalSync. No credit card required.
Frequently asked questions
- Yes. Export the .ics from the source account, sign in to the destination account, and import. The events become native, editable events on the destination side. The catch: it's a one-time copy, not an ongoing sync — for that you need a sync tool.
- If you only need to see both calendars at once, add the second one as a subscribed calendar (using its secret iCal URL) rather than merging. Click the + next to Other calendars in the sidebar, choose From URL, paste the source's secret iCal URL. Read-only, refreshes every 8–24 hours, but no duplicates and no merge to undo later.
- Most recurring events transfer correctly. Failure modes are around recurrence with custom exceptions ('every Monday except the second one in November') and series spanning a daylight-saving change. Spot-check a few recurring meetings after import — if a series shows only one occurrence, the rule didn't survive the .ics export.
- Re-importing the same .ics file creates duplicates because Google does not dedupe on import. Always import into a dedicated destination calendar (not your primary), so a re-import that creates duplicates can be cleaned up by deleting that whole calendar.
- Not with Google's built-in tools. The export is all-or-nothing — every event in the calendar lands in the destination. To filter (only weekdays, only events matching a name pattern, only events with certain attendees), use a sync tool that operates at event-level granularity like XCalSync.
- The export/import method is a snapshot, not a sync. Future events created in either calendar won't appear in the other. To keep them in step, either re-run the export/import periodically (creating duplicate-management headaches) or use XCalSync for automatic ongoing two-way sync.
- Sometimes. Workspace admins can disable both export and external subscription. If the Export option is missing in your work calendar's settings, your admin has restricted it. Personal exports into a work calendar are usually allowed; the reverse direction is what enterprises commonly block.
- Merging copies events once — a snapshot. Syncing keeps both calendars updated continuously. Merge is fine if you're consolidating a deprecated calendar into a primary one. Sync is what you need if both calendars stay active and people on either side need to see your real-time availability across both.