How to Share a Calendar on iPhone

By Rida F'kih · August 16, 2026

Can you share calendars on iPhone?

Yes. There are three routes, and the one you need depends on how much of your day you want the other person to read. You can invite a person to an iCloud calendar, which shows them full event details and, if you allow editing, lets them change things. You can publish a read-only public iCloud link, which shows details to anyone holding the URL. Or you can hand over a subscription link — an .ics feed — that shows busy times only, generated by a tool like Keeper.sh rather than by Apple.

One constraint decides most of this: Apple's person-invite sharing works only on calendars stored in your iCloud account. A calendar living in a Gmail, Exchange, or On My iPhone account has to be shared from that service instead, even though it appears in the iPhone Calendar app alongside everything else.

Full detail suits a household calendar. Busy-only suits a work calendar you would rather nobody read line by line.

How to share a calendar on iPhone with a specific person

Open the Calendar app and tap Calendars, then tap the info button next to the iCloud calendar you want to share. From there:

  1. Tap Add Person.
  2. Enter the person's name or email address.
  3. Tap Add.
  4. Tap Done.

Apple's "Share iCloud calendars on iPhone" support guide is the source for these labels.

Before you finish, decide on Allow Editing. On, the person can add events to the calendar and change the ones already there. Off, they can read it but not touch it. You can find the toggle again later by tapping the info button, then the person's name.

The invitation is not instant access. The person you invited receives it and has to accept before anything appears for them; once they do, the calendar shows up under Shared in their own Calendar app.

How do you make a new shared calendar on iPhone?

Open the Calendar app and tap Calendars, then tap Add Calendar and tap Add Calendar again in the menu that appears. Name it, pick a colour, and check the Account row before you save — it needs to say iCloud.

The Account row is the step people get wrong, for the reason given at the top of this post: only a calendar stored in iCloud can be shared to a person this way.

Naming it "Family" or "Us" and keeping it separate is what makes the sharing narrow. You move across only the events the other person needs to see and leave the rest in your everyday calendar. Sharing the calendar you already live in hands over everything on it, including the entries you forgot were there.

Once it exists and is stored in iCloud, share it with the Add Person steps above.

Why is there no share option, or the invitation never arrives?

Add Person only appears on iCloud calendars, so a missing button usually means the calendar lives in a Google, Outlook/Exchange, or On My iPhone account — the account rule described at the top of this post. The other case is a subscribed calendar: a feed you added by URL is read-only to you, and it cannot be re-shared onward to a person. Send that person the subscription link itself instead — the same URL you subscribed with. If the feed is one you generate yourself, Keeper.sh gives you that .ics URL in the dashboard.

Check too that calendar sync is on for iCloud in Settings. With it off, shared calendars never appear.

The invite lands inside the recipient's Calendar app, not only as an email, so someone watching their inbox concludes nothing arrived. They also need an Apple Account for the invitation to reach them at all. Ask them to open Calendar and look.

To resend, tap the info button, tap the person's name, tap Delete, then add them again as a new invitation.

How do you stop sharing a calendar or remove one person?

On iPhone, tap the info button next to the shared calendar, tap the person's name, then tap Delete. That removes their access to the calendar while leaving it in place for you and anyone else on it.

On iCloud.com, use the Options button next to the participant's name, choose Remove Person, then Save. To end sharing altogether, choose Stop Sharing on a private calendar, or turn off Public Calendar on a public one, then Save. Stop Sharing is an iCloud.com label, and it ends sharing for everyone at once.

Apple's iCloud.com "Stop sharing a calendar" page says removed participants can no longer access the shared calendar and that participants receive a notification that the calendar is no longer shared. Apple's iPhone guide does not carry that sentence, so on the iPhone route the notification behaviour is undocumented.

How to share a calendar on iPhone without iCloud

Hand the person a subscription link instead: a URL ending in .ics that any calendar app can subscribe to. It does not go through Apple's person-invite sharing at all, so the events behind it can sit in any account you connect rather than only in iCloud.

Keeper.sh produces one. You connect the accounts holding your events — Google Calendar, Outlook, iCloud, Fastmail, a CalDAV server, or an iCal link you already subscribe to — and it pulls them into an iCal Feed. In the product's own words, "Each feed is a link you can subscribe to in any calendar app, with its own calendars and privacy settings." What those privacy settings actually withhold is the next section. The Calendars section of the feed is where you pick which of your calendars contribute events to it.

Apple's support page for subscribing to a calendar gives the recipient's steps: open Calendar, tap Calendars, tap Add Calendar, then Add Subscription Calendar, enter the web address, and tap Find on iOS 26 or later, or Subscribe on iOS 18 and earlier. If they are already in Settings rather than the Calendar app, the same subscription lives under Settings, Apps, Calendar, Calendar Accounts, Add Account, Other, Add Subscribed Calendar.

How do you share your calendar without showing event titles?

To share an iPhone calendar as busy times only, you do not have to configure anything: a Keeper.sh feed starts with Include Event Name, Include Event Description and Include Event Location all off, so every event arrives as the placeholder "Busy" — start and end times, no titles, no locations, no notes. Under the link sits a disclosure line stating what the link exposes; with nothing extra switched on it reads "This link shares event times only."

Turning Include Event Name on switches the Event Name template to {{event_name}}, putting real titles into the feed. Turning it off resets the template to "Busy". The variables available in those text fields are {{calendar_name}} and {{event_name}}.

Feed Settings also carries Exclude All Day Events. Event Filters is a separate group holding exactly two toggles: Exclude Focus Time and Exclude Out of Office.

Free plans include one iCal feed, and changing any of these settings is gated — "Feed settings are a Pro feature." Every Pro feature is included when you self-host.

The feed URL is unauthenticated. Anyone holding it can read the feed, and the link can be forwarded on without you knowing. There is no token rotation and no way to regenerate the link. The default feed cannot be deleted either — the product says so plainly: "Your default feed cannot be deleted. Create another feed to share a narrower set of calendars." On a free plan, where the default feed is your only feed, the practical mitigation is unticking calendars under Calendars so the feed serves nothing.

The default feed also widens by itself: "Calendars you import later join this feed automatically", so a calendar you connect months from now can enter a link you shared long ago.

Refresh timing belongs to the subscribing app; Keeper.sh cannot push an update into someone else's Calendar app. Working-location events are always dropped from feeds, with no toggle.

Can Keeper.sh use cookies for analytics?