Subscribing to a calendar on iPhone and Mac lets you add a read-only feed — a holiday list, a team schedule, or a public iCloud calendar — using an .ics or webcal:// URL. This guide walks through the exact steps on each device and how to control how often the feed refreshes.
Before you start: get the link
You need the feed's URL, usually ending in .ics or starting with webcal://. Both work in Apple Calendar. If you only have a webcal:// link, you can paste it directly; if you have an https link, that works too. For where these links come from, see what is an .ics file and get a public iCloud link.
Subscribe on Mac
- Open the Calendar app on macOS.
- In the menu bar, choose File → New Calendar Subscription.
- Paste the calendar URL and click Subscribe.
- In the settings sheet, set:
- Name and Color for the calendar.
- Location — choose iCloud to sync the subscription to your other Apple devices, or On My Mac to keep it local.
- Auto-refresh — how often Calendar checks for updates.
- Click OK.
Tip: Choosing iCloud as the location means the subscription appears automatically on your iPhone and iPad, so you only have to add it once.
Subscribe on iPhone or iPad
- Open the Settings app.
- Tap Apps → Calendar → Calendar Accounts (on older iOS, Settings → Calendar → Accounts).
- Tap Add Account → Other.
- Tap Add Subscribed Calendar.
- Paste the URL into the Server field and tap Next.
- Adjust the name and options, then tap Save.
The subscribed calendar now appears in the Calendar app, view-only.
Set the refresh frequency
Subscribed calendars are pull-based — your device periodically downloads a fresh copy. They do not update the instant the source changes.
- Mac: Right-click the subscribed calendar → Get Info (or reopen the subscription), then set Auto-refresh (e.g., every 5 minutes, hourly, daily).
- iPhone/iPad: Subscriptions follow your Fetch New Data settings under Settings → Apps → Calendar → Calendar Accounts → Fetch New Data. Set the schedule to Hourly or shorter for fresher updates.
If a feed seems stale, that's usually expected behavior, not a bug — see why subscribed calendars don't update instantly.
Subscribed vs imported
Subscribing is different from importing:
| Subscribe | Import | |
|---|---|---|
| Stays linked to source | Yes | No |
| Updates automatically | Yes (on a schedule) | Never |
| Editable | No (read-only) | Yes (becomes your events) |
If you only want a one-time snapshot, import the .ics instead. For most feeds — holidays, sports, team schedules — subscribe so future changes flow in. See add a holiday or sports schedule.
Remove a subscription
- Mac: Right-click the calendar → Unsubscribe (or Delete).
- iPhone/iPad: Settings → Calendar → Accounts, tap the Subscribed Calendars account, select the feed, and tap Delete Account.
Troubleshooting
- "The URL is invalid" — double-check for typos; try swapping
webcal://forhttps://or vice versa. - Nothing shows up — make sure the subscribed calendar is ticked in the Calendar app's sidebar/list.
- Events look old — lower the refresh interval, and see why subscribed calendars don't update.
Related reading
If you also use Google and Outlook, nocal unifies those calendars into one timeline — see how.