Back to Blog

How To Tuesday, October 20th 2026

How to Add an Events Calendar to Any Website (No Code, 2026)

Your events page shouldn't still show last summer. Here's how to add an events calendar widget to any website without code, an honest look at the free options, and where to paste the code in WordPress, Wix, Squarespace, Shopify and Google Sites.

Y

Written by

Yared
How to Add an Events Calendar to Any Website (No Code, 2026)

Last updated: October 2026. We built a real events calendar for a made-up public library, put it on a demo website with the real embed code, and tested it on a computer and a phone. We also checked what the free options actually give you, from Google's and Elfsight's own pages.

Quick answer

An events calendar widget is a calendar you paste onto your website once with a short piece of code. It shows your upcoming events, and it updates itself every time you add or change an event, so you never edit the page again. To add one to any website without coding:

  1. Put your events in one calendar (in CalGet, or sync the Google Calendar or Outlook calendar you already use).
  2. Design the widget: view, brand color, theme and layout.
  3. Copy the embed code.
  4. Paste it into your page: a Custom HTML block in WordPress, Embed HTML in Wix, a Code block in Squarespace, a Custom Liquid section in Shopify, or Embed code in Google Sites.
  5. Allow your website's domain, so the calendar only shows on your own site.

Open the events page on a lot of small websites and you'll find the same thing: a list of events from June, July and August, still up in October, with a line at the bottom that says "Page last updated August 3." Nobody forgot on purpose. Somebody had to remember to open the website editor, delete the old events and type in the new ones, every single time, on top of everything else.

An events calendar widget takes that job away. You add an event in one place, and it shows up on your website on its own, in your colors, in a calendar that works on phones. This guide shows exactly how to add one to any website, step by step, with real screenshots, and it answers the question most people search first: is there a good free one?

Watch the full tutorial (4:51): why a Google Calendar embed falls short, the five steps to add an events calendar widget to any website with no code, where to paste it in WordPress, Wix, Squarespace, Shopify and Google Sites, and a new event showing up on the site on its own.

The same events page before and after the widget. Left, the made-up Fernbrook Public Library site with a hand-typed Upcoming Events list: Summer Reading Kickoff on June 13, Teen Movie Night on July 17 and Back-to-School Book Swap on August 22, still up in October, with 'Page last updated August 3, 2026'. Right, the same page with a CalGet events calendar widget showing October 2026 in the library's green, with Month, Week, Schedule and Card views and a Subscribe to Calendar button.
The same library page, before and after. The widget on the right is the real CalGet embed code, running on our demo site.

What a good events calendar widget does

Before you pick a tool, it helps to know what "good" looks like for a public events page. These are the six things we'd check, in order of how much trouble they save you:

  • It updates itself. New and changed events appear on your website without editing the page. This is the whole point.
  • It looks like your website. Your brand color, a light or dark theme, and a layout that fits the page.
  • It works on phones. Most visitors will see your events page on a phone. A calendar that's only readable on a laptop isn't doing its job.
  • Visitors can save events. An Add to Calendar button for Google Calendar, Apple Calendar and Outlook turns "I might go" into a reminder on their phone.
  • Visitors can subscribe. Regulars can follow the whole calendar and get every future event in their own calendar app automatically.
  • It stays on your website. Only websites you approve can show your calendar, so nobody can copy your code onto theirs.

Is there a free events calendar widget for your website?

Yes, but each free option has a catch, and it's worth knowing which catch you can live with. Here's an honest comparison of the options people usually try first, checked in October 2026:

OptionCostUpdates itselfThe catch
Google Calendar embedFreeYesThe calendar has to be public for visitors to see it, styling is limited, and it gets cramped on phones.
Elfsight Event Calendar, free planFreeYesOne widget, 200 views a month (the widget pauses after that), and Elfsight branding, per Elfsight's pricing page.
A hand-typed events listFreeNoSomeone has to edit the page for every change. It goes stale.
CalGet embeddable calendarPaid plans (Starter and up)YesNot on CalGet's Free plan. In return: your colors, four views, Add to Calendar, Subscribe, phone layout and domain control.

Our take: if your calendar is already public in Google and you only need something on the page this afternoon, Google's free embed is fine. If you get a few visitors a day, Elfsight's free plan can work, but 200 views a month is roughly seven a day, and an events page that goes blank in the middle of the month is worse than no calendar. If the events page matters to your organization, a calendar built for websites pays for itself in the time you stop spending on the page. That's what the rest of this guide sets up. You can see what's in each CalGet plan on the pricing page.

Why not just embed Google Calendar?

You can, and we've written a full guide on how to embed Google Calendar in your website. Three things trip people up. First, Google says the calendar has to be public for everyone to see it: "To make your calendar visible to everyone, make your calendar public." Second, the embed only lets you change a few settings, like which tabs show and a background color, so it rarely matches your website. Third, it was made for a laptop screen. On a phone, the month view shrinks to a few columns of tiny text. A widget made for websites fixes all three.

How to add an events calendar to your website in 5 steps

We'll use CalGet's embeddable calendar and a made-up public library, Fernbrook Public Library. Every screenshot below is real, taken on October 20, 2026. The whole setup takes about ten minutes the first time.

Step 1: Put your events in one calendar

Your widget shows the events in one calendar, so start there. In CalGet, click Calendars and open your calendar (or click New Calendar to make one). You'll see its upcoming events on the right.

The Fernbrook Public Library calendar in CalGet, on the Calendar Details tab. The left card shows its Public Link, 0 active subscribers, 4 past events and 7 upcoming events, the calendar name and its color. On the right are the upcoming events, including the Fall Book Sale on November 14, the ESL Conversation Circle and Toddler Storytime. A New Event button is at the top right.
The library's calendar in CalGet: everything on it will show up in the widget.

To add an event, click New Event. Give it a title, a date and time, a location and a short description, and make sure your calendar is picked at the bottom. Then click Create Event Link.

CalGet's New Event form filled in for Teen Poetry Night on Thursday, November 19, 2026, from 6:30 PM to 8:00 PM in the America/New_York time zone. The location is Fernbrook Public Library, Teen Room, and the description reads: Read your own poem or just come to listen. Snacks provided. For ages 12 to 18. The calendar picked at the bottom is Fernbrook Public Library, next to the Create Event Link button.
A new event, saved to the library's calendar. It's on the website the moment you click Create Event Link.

Already keep your events in Google Calendar or Outlook? You don't have to move them. Open your calendar's External Calendars tab and sync the calendar you already use, so you never type an event twice. Our guide to syncing Outlook and Google Calendar covers where to find each calendar's address.

Step 2: Design your calendar widget

Click Embeddable Calendar in the sidebar and pick your calendar at the top right. Everything you change shows up in the live preview, so you can see it before it goes anywhere near your website.

CalGet's Embeddable Calendar page with the Fernbrook Public Library calendar picked. The live preview shows October 2026 in month view with the library's green Subscribe to Calendar button. The toolbar at the bottom has Color, the light, dark and auto theme buttons, the device preview, the view menu set to Month, Layout: Single column, more options and Get embed code.
The Embeddable Calendar page. The toolbar at the bottom holds every design option.

Work through the toolbar from left to right:

  • View: the view visitors see first. Month, Week, Schedule (a simple list, great for phones) or Card.
  • Color: your brand color. We used the library's green, #1f5b45.
  • Theme: light, dark, or auto, which follows each visitor's device.
  • Layout: single column, or a side panel that lists the month's events right next to the calendar.
  • More options: the language, the first day of the week, the time zone, which toolbar buttons show, and more.
  • Preview: switch to the mobile preview to see exactly how it looks on a phone.
Two real views of CalGet's Embeddable Calendar page. Left, Layout set to With side panel: the month grid with a dark side panel listing October 2026 events like ESL Conversation Circle, Toddler Storytime and Teen Tech Lab. Right, the mobile preview: the same calendar at phone width, with the month grid and the day's events underneath.
The side panel layout, and the mobile preview. Check both before you copy the code.

Step 3: Get the embed code

Click Get embed code. You'll see three options:

  • JS Embed (recommended): resizes itself to fit your page and stays in sync with the latest features.
  • iFrame: a fixed-size frame, for website builders that only accept iframes.
  • Direct link: a link to the calendar on its own page, for a button or a menu item when you can't paste code at all.

Pick JS Embed and click Copy code.

CalGet's Embed your calendar dialog with three tabs: JS Embed, iFrame and Direct link. JS Embed is selected, with the note 'Recommended. Auto-resizes to fit content and stays in sync with the latest features.' The code box shows the CalGet embed code with data-calendar-link, data-theme #1f5b45, data-mode light, data-first-day-of-week mon and data-view month, above a Copy code button.
The Embed your calendar dialog. JS Embed is the one to use on almost every website.

Here's the exact code we copied for the library. It's short: a div that holds your settings and one script that draws the calendar.

<div id="calendar-embed-cal-dot-et"
    data-calendar-link="xnm0kn4q"
    data-theme="#1f5b45"
    data-show-powered="true"
    data-mode="light"
    data-first-day-of-week="mon"
    data-view="month"
    data-show-side-panel="false"
    data-timezone="America/New_York">
</div>

<script src="https://calget.com/assets/js/embedcalendar.js?v=71" defer></script>

Notice that your design choices live inside the code (data-theme, data-view and so on). Your events don't. That's why new events show up on their own, and why you only need to copy the code again if you change the design.

Step 4: Paste the code into your website

Open the page where you want the calendar, usually your Events page, and paste the code where the calendar should appear. On a plain HTML page, that's straight into the page's HTML. In a website builder, you paste it into the builder's code or HTML block (see the table in the next section for each one). Then save and publish the page.

Open the published page, and the first time you'll probably see this instead of your calendar:

CalGet's Access Restricted message on the library's events page: 'The calendar is not allowed on this domain. Please add www.fernbrooklibrary.org to your allowed domains list (from the CalGet dashboard).' with a Login to CalGet button, over a blurred calendar.
Access Restricted means the code works. Your domain just isn't on the allowed list yet.

That's a good thing. CalGet only shows your calendar on websites you allow, so nobody can copy your code onto their own site. The message even tells you which address to allow.

Step 5: Allow your domain

Back in CalGet's Embeddable Calendar page, click Domains, then Add Domain. Type your website's address without the https://, exactly as your browser shows it, and click Add Domain.

CalGet's Add Domain dialog: 'Add a domain to allow your calendar to be embedded on that website.' The Domain field contains www.fernbrooklibrary.org, with the hint 'Enter the domain without http:// or https://', and Cancel and Add Domain buttons.
Type the address without https://. If the Access Restricted message named an address, use that one.

The www trap: www.yoursite.org and yoursite.org count as two different domains. If your site opens both ways, add both. Then reload your page. There it is: a live events calendar on your website, in your colors.

Where to paste the code in WordPress, Wix, Squarespace, Shopify and Google Sites

The same embed code works in any website builder that lets you paste HTML. The only differences are the name of the block and, on two builders, the address you allow in Step 5. Each builder has its own detailed guide on our blog:

Website builderWhere to paste the codeDomain to allow
WordPressA Custom HTML block (WordPress guide)Your site's domain
WixAdd Elements → Embed Code → Embed HTML (Wix guide)The filesusr.com address in the Access Restricted message (Wix runs embedded code there)
SquarespaceA Code block, on the Core, Plus or Advanced plan; on Basic, use the Direct link on a button (Squarespace guide)Your site's domain
ShopifyA Custom Liquid section in the theme editor (Shopify guide)Your store's domain and its myshopify.com address
Google SitesInsert → Embed → Embed code (Google Sites guide)*.googleusercontent.com
Canva websitesThe Embed app, with the calendar's Direct link (Canva guide)None needed
Framer, KajabiAn embed or code element (Framer guide, Kajabi guide)Your site's domain

If you can paste HTML, you can add this calendar.

The best part: new events show up on their own

Once the code is on your page, you never touch your website again to update events. We tested it: November on the library's site had nothing on Thursday the 19th. We created Teen Poetry Night in CalGet, refreshed the website, and it was already there. The embed code on the page didn't change at all.

November 2026 on the library's website before and after one event was added in CalGet. Before, Thursday November 19 shows only '4:00 PM Teen Tech Lab'. After a refresh, it also shows '6:30 PM Teen Poetry Night', highlighted. The rest of the month is identical.
One event added in CalGet. One refresh. No website editing.

The same goes for changes: move an event to another room or another day in CalGet, and the website shows the new details. That's the job the old hand-typed list could never do.

What your visitors get

A calendar on your website is only useful if people act on it. Here's what a visitor can do with the CalGet widget, on a computer or a phone:

  • Switch views: month, week, a simple list, or cards.
  • Open any event to see the time, place and description.
  • Add to Calendar: save one event to Google Calendar, Apple Calendar, Outlook or Yahoo, or download an ICS file. (More on how add to calendar links work.)
  • Subscribe to Calendar: follow the whole calendar in Google, Apple, Outlook or Office 365, and get every future event automatically. This is a subscription calendar, built into the widget.
What a visitor can do with the calendar. On a computer: the Book Club: The Lighthouse Year event on Wednesday, October 21, 6:30 to 7:30 PM in the Reading Room, with an Add to Calendar menu listing Google Calendar, Apple Calendar, Outlook, Yahoo and Download ICS. On a phone: the same event card with an Add to Calendar button, and the Subscribe to Calendar menu with Google Calendar, Apple Calendar, Outlook and Office365.
Add one event, or subscribe to all of them. On a phone, the calendar fits the screen and the buttons are easy to tap.

Common problems (and quick fixes)

  • "Access Restricted" on your page. Your domain isn't on the allowed list yet, or you added the wrong version. Add the exact address the message names (Step 5).
  • It works on www but not without it (or the other way around). Add both versions of your domain.
  • The calendar shows in the editor but not on the live site, or the reverse. Some builders preview embedded code from a different address. On Wix that's filesusr.com, on Google Sites it's googleusercontent.com, and Shopify's theme editor uses your myshopify.com address. Allow those too.
  • You changed the color or view, but the website didn't change. Design settings live inside the embed code. Copy the code again and replace the old one on your page. (Events never need this.)
  • The block stays empty on Squarespace. The Basic plan doesn't run scripts in Code blocks. Use the Direct link on a button instead, and check the live site in a private window, since Squarespace hides some embedded code while you're logged in.
  • The calendar is cut off with scroll bars. You probably used the iFrame code in a box that's too small. Switch to JS Embed, which resizes itself.

How we tested this

On October 20, 2026, we set up a calendar for the made-up Fernbrook Public Library in CalGet, with real upcoming events from October to December. We designed the widget on the Embeddable Calendar page, copied the real JS Embed code, and pasted it into a demo library website served at www.fernbrooklibrary.org in a test browser. We confirmed the Access Restricted message before the domain was allowed and the live calendar after. We then added Teen Poetry Night for November 19 in CalGet and refreshed the website to confirm it appeared without touching the page, and we opened events, the Add to Calendar menu and Subscribe to Calendar on desktop and phone-sized screens. The builder steps come from our own tested guides for each builder. Google Calendar's embed steps come from Google Calendar Help, and Elfsight's free plan limits from Elfsight's pricing page, both checked in October 2026.

Frequently asked questions

How do I add an events calendar to my website without coding?

Use a calendar tool that gives you an embed code. In CalGet: put your events in a calendar, design the widget on the Embeddable Calendar page, click Get embed code, copy the JS Embed code, paste it into your page's HTML or code block, and allow your website's domain. You copy and paste; you don't write any code.

Is there a free event calendar widget for websites?

Yes. Google Calendar's embed is free if your calendar is public, and Elfsight's free plan gives you one widget with 200 views a month and Elfsight branding. CalGet's embeddable calendar is part of its paid plans (Starter and up), and adds your colors, four views, Add to Calendar and Subscribe buttons, a phone layout and control over which websites can show it.

Will the calendar update when I add new events?

Yes. The widget reads your events from CalGet every time the page loads, so new and changed events appear on your website without editing the page. You only copy the code again if you change the widget's design.

Does the calendar work on phones?

Yes. The CalGet widget adjusts to the screen, and you can check it with the mobile preview before you copy the code. The Schedule view, a simple list, works especially well on small screens.

Can I use my existing Google Calendar or Outlook calendar?

Yes. Sync it into a CalGet calendar from the External Calendars tab and keep adding events where you always have. The widget shows the synced events, and your Google Calendar doesn't need to be public.

Why does my calendar say "Access Restricted"?

Because the website it's on isn't on your calendar's allowed list yet. Open Embeddable Calendar, click Domains, then Add Domain, and add the address the message shows, without https://. This stops anyone else from showing your calendar on their website.

CalGet: An events calendar that updates itself. Design it once, paste one code, and every event you add shows up on your website. Create your calendar.

An events page should be the easiest page on your website to keep current, not the hardest. Put your events in one calendar, paste one piece of code, and let the calendar do the updating. When you're ready, create your calendar in CalGet and see CalGet's events calendar widget in action on your own site. For more detail on each setting, see the help article on how to embed an event calendar on your website.

CalGet

Written by the CalGet team

Updated October 2026 · Tested on a real CalGet calendar, embedded on a demo website on desktop and phone

We build calendar tools for sharing events with lots of people, from sports clubs and schools to nonprofits. People at organizations like Harvard, Save the Children and OGC Nice use CalGet to get events into their audience's calendars.

Rated 5 out of 5 stars on Trustpilot

“Great Add Event to Calendar platform. Easy to create events and add them to emails and websites. Support responds quickly to questions and provides clean and concise answers. Highly recommended.” Foto Guy, on Trustpilot

Get Your Events on Everyone's Calendar.

Generate universal "Add to Calendar" links that work everywhere. Perfect for social media, emails, and websites.

Google Calendar
Apple Calendar
Outlook
Office 365
Try CalGet Free