Paste it once. It is never wrong again.
Your calendar goes into the website you already have as one iframe tag. No script, no plugin, no build step. You keep adding events here, and the page on your own site is already up to date.
This is the whole integration.
Not a sample of it. This is the entire thing that goes into your page, exactly as the Embed Schedule panel hands it to you.
<iframe src="https://your-schedule.eventschedule.com?embed=true" width="100%" height="800" frameborder="0" style="border: none;"></iframe>
<p style="font-size: 12px; text-align: right; opacity: 0.6;"><a href="https://eventschedule.com">Powered by Event Schedule</a></p>
Two lines, and the second one is optional furniture: free schedules carry a small credit line under the frame, and white-label on the Pro plan takes it out of the copied code. The frame itself is one tag with your own subdomain in it.
?embed=true
The part that matters. It renders the calendar on its own, and it is the only URL Event Schedule allows another site to frame. Point a plain schedule URL at an iframe and the browser refuses it.
width="100%"
The frame is as wide as the column you put it in, so it fits a narrow sidebar and a full-bleed section without being told twice.
height="800"
Your call, and the one honest limitation on this page: nothing measures the calendar and resizes the frame for you. Give it room, or let it scroll.
frameborder="0"
No browser border drawn around it, so the calendar reads as part of your page rather than a window cut into it.
You are giving it a rectangle, not a script.
Which means everything you can change lives in the tag and its URL. There is no settings screen on your side of the fence, and nothing to keep in sync.
| Token | Example | What it does |
|---|---|---|
| ?embed=true | Renders the calendar on its own, with no header, footer or banner around it. It is also the only URL Event Schedule permits another site to frame. | |
| width | The frame takes the width of whatever column you drop it into. | |
| height | You choose the height. Nothing measures the calendar and resizes the frame for you. | |
| loading | Plain HTML, not a product feature: the browser waits until the frame scrolls into view before fetching it. | |
| ?layout= | Opens the frame as a list or as a month calendar, whatever the schedule itself is set to. Two frames on the same page can each take their own. The calendar wants about 768px of frame width; narrower than that it shows a day-by-day agenda instead. | |
| ?lang= | Renders the calendar in one of 12 languages. Arabic and Hebrew lay the frame out right to left. | |
| ?schedule= | Shows a single sub-schedule instead of everything on the calendar. | |
| ?dark=true | Forces dark mode. Left off, the frame follows the visitor's own system setting. | |
| ?month= &year= | Opens the frame on a specific month instead of the current one. |
Query parameters go on the src URL, after ?embed=true. The in-page language switcher is hidden inside a frame, so if you want a language other than the schedule's own, that is what ?lang= is for.
What travels with the line, and what stays behind.
An embed is not a smaller copy of your schedule page. It is the calendar, on its own, with the page around it deliberately taken off.
Travels with it
Every event you publish
The frame loads live, so a date you move this afternoon is already right on your site. You never re-paste the tag.
Your schedule's own look
Background, colours and font come from your Appearance settings. Custom CSS, on Pro, applies inside the frame too.
Your layout choice
Month calendar or list view, whichever your schedule is set to, or pinned per frame with ?layout=.
Sub-schedules and their colours
Colour-coded on the calendar, and filterable down to one strand with a URL parameter.
RSVP and ticket links
A click inside the frame opens in a new tab, so your own page is never replaced by an event page.
Stays behind
Your schedule's header and footer
The frame is the calendar and nothing else. No banner, no navigation, no page chrome.
The "Powered by Event Schedule" footer
Never inside the frame. Free schedules get it as a small credit line in the copied code, under the frame, and white-label on Pro removes it.
Ads
A free schedule's own public pages can carry them. An embed never does, by design.
The language switcher
Hidden inside a frame, which is why the language is set in the URL instead.
Search engines
The embed URL is served noindex, nofollow, so the page that ranks is yours, not the frame inside it.
Your view count
Loads inside a frame are deliberately not recorded as schedule views, so analytics stay a measure of your own schedule page.
It is on this page right now.
The rectangle below is not a screenshot. It is a demo schedule in an ordinary iframe, pasted into this marketing page the same way it would be pasted into yours.
Try a date. The event opens in a new tab rather than replacing what you are reading, which is the behaviour the calendar switches to as soon as it notices it is inside a frame.
Copy. Paste. Leave it alone.
Copy the tag
Open your schedule in the admin portal and choose Embed Schedule. The panel shows the embed URL, the tag, and a live preview of the calendar before you take it anywhere.
Paste it into your page
Drop the tag into your HTML wherever the calendar belongs. Any CMS block that accepts raw HTML or an embed will take it, because there is nothing to install.
Leave it alone
The tag never changes again. Add an event, move a date, cancel a night: the rectangle on your own site is already correct, because it is reading the live schedule.
The calendar embed is free.
There are two embeds in Event Schedule and they are easy to mix up, so here they are side by side.
The calendar embed
This page. Free on every plan, with no limit on how many sites you paste it into, and free on selfhosted installs too.
The ticket widget
A different tag for a different job: it puts the form itself on your page, rather than a calendar that links to it. The RSVP version is free on every plan; putting the ticket purchase form on your page is the Pro half.
On your own server
The same tag, with your install's own address in it instead of a subdomain. The embed is not gated on a plan, a licence key or a site count.
Popular with
The people who already have a website and just want the dates on it.
Everything else on the free plan
The calendar itself, two-way Google, Outlook and CalDAV sync, RSVP with a capacity per date, sub-schedules, built-in analytics, newsletters to 10 recipients a month and selling up to 25 tickets a month are all free. Pro takes the ceiling off ticket sales and adds the check-in dashboard, the ticket purchase widget and custom fields. Event Schedule takes zero platform fees on ticket sales, on every plan.
Related features
Frequently asked questions
What people ask before they put a frame on a page they care about.
How do I embed my schedule on my website?
Open your schedule in the admin portal and choose Embed Schedule. The panel shows the embed URL, the iframe tag and a live preview of the calendar before you take it anywhere. Copy the tag and paste it into your page's HTML wherever the calendar belongs. Any CMS block that accepts raw HTML or an embed will take it.
Can I customize the embedded calendar's appearance?
The frame renders your schedule, so your own appearance settings come with it: background, colours, font, and whether events show as a month calendar or a list. On top of that the URL takes ?layout=calendar or ?layout=list to pin the layout for that frame, ?dark=true to force dark mode, ?schedule= to show a single sub-schedule and ?lang= to pick one of 12 languages. Custom CSS, on the Pro plan, applies inside the frame as well.
Does the embed slow down my website?
It is one iframe, so the browser loads it alongside your page rather than waiting for it, and it brings no JavaScript, no stylesheet and no dependency into your own page. Add loading="lazy" to the tag and the browser will not fetch the calendar at all until it scrolls into view.
Will the embedded calendar compete with my own page in search?
No. The embed URL is served noindex, nofollow, so search engines are pointed at the page you own rather than at the frame inside it. Framing is also only permitted on the ?embed=true URL: the ordinary schedule page refuses to be framed at all.
Does it work on mobile?
Yes. A width of 100% means the frame takes the width of whatever column you drop it into, and the calendar inside it is responsive. The height is the one thing you choose: nothing measures the calendar and resizes the frame for you, so either give it room or let it scroll.
Is embedding the calendar free?
Yes, on every plan and on selfhosted installs, with no limit on how many sites you paste it into. The separate widget embed, which puts the form itself on your page, splits in two: the RSVP form is free as well, and the ticket purchase form is a Pro feature.
Do embed views show up in my analytics?
No. Loads inside a frame are deliberately not recorded as schedule views. Clicks through from the frame open your event page in a new tab, and those are ordinary views, so they are counted.
Free on every plan
Take the name, take the line.
Claim a schedule, add your first event, and copy one tag into the site you already have. Nothing to install, and nothing to keep in sync afterwards.
No credit card required