I have a public apple calendar that I'd like to make viewable (read-only) on my website so that visitors can see my schedule. I believe this can be done with a google calendar but I'm not having luck finding ways to do this with an apple calendar.

Even if there isn't built-in functionality, I'd still be happy with janky ad-hoc solutions. For example, one thing which I half-considered before turning to stackexchange would be to see if an always-on computer could periodically scrape the calendar off my icloud account and somehow convert it to html and automatically update my website. I think that's a last-resort sort of approach though. (That said, if it's basically the only way this would work, I'm happy to hear suggestions on how to go about it, but I'd of course prefer if there's a more elegant or intentionally designed way.) At minimum, I'd like visitors to be able to see when I have appointments; location and event name would be nice but not strictly necessary.

Update: I have attempted to incorporate @Riley4067440653's answer, but as I mentioned in a comment I do not think it works as a permanent solution. Edits made to the apple calendar are not passing to the google calendar in a timely manner; changes made to the apple calendar over 12 hours ago are still not appearing on the google calendar.

My understanding is that importing into the google calendar is a one-time process, and edits made to the apple calendar will never appear on the google calendar; I may be mistaken on that front, but regardless I do need edits to appear more promptly than 12+ hours later, so this solution doesn't work well for me.

If there is a way to automatically propagate changes made to the apple calendar onto the google calendar, then @Riley4067440653's solution will work for me. Again, perhaps this can be done ad-hoc -- if so I would appreciate some advice on how to deploy it -- but I'd prefer intentionally designed solutions if possible. If there is no way to automatically propagate changes, then I am still in need of a solution to this problem.

Also, to incorporate some comments with @nohillside into the body of this post:

  • I am seeking a solution that does not require me to switch off of apple calendar (for which it was clarified that the app "Fantastical" does not, but it's not clear to me how that app solves my problem),
  • I want visitors to the website to see my schedule, not my availability,
  • I want the website calendar to be read-only; visitors are not using it to schedule my free time with me, and
  • I want the website calendar to be either directly on my website or embedded (in like an iframe); I do not want to give visitors a link to an external site or require them to use/download a program.
  • If you are willing/able to pay for it, Fantastical offers something like this.
    – nohillside
    Aug 4, 2022 at 17:42
  • How so? The website seems to imply Fantastical is just a paid-for calendar app. My schedule is already in apple calendar; I'm not looking to redo everything in a different app.
    – Eric
    Aug 4, 2022 at 17:46
  • Fantastical uses the calendars in your iCloud account, so you don't have to redo anything. See flexibits.com/fantastical/help/openings for how the "sharing" works (agree though that it is a bit different from what you describe).
    – nohillside
    Aug 4, 2022 at 17:51
  • Yes, this seems too different to what I want to do. I don't want to direct visitors to an external link or app and I want them to see my appointments, not my availability (and even less so try and schedule themselves during my availability as per your link).
    – Eric
    Aug 4, 2022 at 21:13

2 Answers 2


I've never used it before, but Open Web Calendar seems like an option. Just set the calendar that you want to share to public in the Calendar app, take the URL that it generates, and paste that into the first text field on the Open Web Calendar page, changing webcal:// to https:// in the URL. (You can repeat this for as many calendars as you'd like, and they’ll all display in one view: just paste each calendar URL into a new text field on Open Web Calendar.)

You'll see a preview of the embeddable calendar automatically appear, and it'll give you code for an iframe that you can stick on a website. There are also customization options you can modify at the bottom of the page. And since it's pulling directly from the iCloud ICS feed, it'll update automatically when you add new events to the calendar.

Additionally, here's a link to the GitHub repo for Open Web Calendar.


You can host an Apple calendar in a roundabout way by using Google calendar. There might be more efficient solutions however this one is straightforward enough.

  1. Create a public calendar (see 'Share a calendar', step 4 in Apple's guide). Copy the webcal:// url.

  2. In Google calendar, import a calendar 'from url', and paste the copied url. (Steps are described in this guide). This Google calendar should sync with the Apple calendar.

  3. You can embed the Google calendar on your website as per this Google support document.

  • My understanding is that this is a one-time sync though, and if I ever updated the apple calendar I would have to manually repeat step 2. Is this correct? If it is correct, is there a way to automate step 2?
    – Eric
    Aug 4, 2022 at 21:07

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .