Embed Google Forms, Calendly and Typeform on Your Website

Each service gives you a snippet to paste into your page. Google Forms hands you an iframe from its Embed HTML option; Calendly gives a div plus a script from Add to website; Typeform gives a div with data-tf-widget plus its embed script. Set a sensible height, a title and width 100% so it fits phones.

Where each embed code lives (as of October 2026)
ServiceWhere to clickWhat you paste
Google FormsMore menu (three dots) > Embed HTML > CopyAn iframe
CalendlyScheduling page > three dots > Add to websiteA div and a script tag
TypeformThe embed options in your form's share settingsA div with data-tf-widget and a script tag

Updated

Copying the code is the easy part. The problems show up afterwards: a form that is cut off on phones, a double scrollbar, an iframe with no title for screen readers, or a booking widget that slows the page. This guide covers where each code lives and how to make it behave.

Embed code builder

Choose Google Forms, Calendly or Typeform, paste the code or link the service gave you, and get a snippet with a title, a phone-friendly width and the height you set. The builder only rewrites text; it does not load the form.

The three compared

Embed styles each service offers (from their help docs, October 2026)
ServiceEmbed stylesResizes itself?
Google FormsInline iframeNo, you set the height
CalendlyInline, popup widget, popup textInline height is fixed unless you use the advanced JavaScript embed with resize
TypeformInline, full page, popup, slider, popover, side tabInline fills the box you give it

Clean snippets to start from

Replace the placeholder addresses with your own. Each one is sized to fit phones.

Google Form, full width with a title

Keep the src Google gives you; only the sizing, title and lazy loading change.

<iframe
  src="PASTE_THE_SRC_FROM_GOOGLE_HERE"
  title="Contact form"
  width="100%" height="900" loading="lazy"
  style="border:0;max-width:640px;display:block;margin:0 auto">
  Loading…
</iframe>

Calendly inline scheduler

The shape of Calendly's inline embed: one div with your link and one script.

<div class="calendly-inline-widget"
     data-url="https://calendly.com/your-name/30min"
     style="min-width:320px;height:700px;"></div>
<script src="https://assets.calendly.com/assets/external/widget.js" async></script>

Typeform inline

Swap abc123 for your form id. The script styles the widget itself.

<div data-tf-widget="abc123" style="width:100%;height:560px;"></div>
<script src="//embed.typeform.com/next/embed.js"></script>

Google Forms

Open the form, choose the More menu at the top right, pick Embed HTML and press Copy. Google's help page lists these steps. What you get is a single iframe pointing at your form.

The copied iframe has fixed pixel dimensions. Swap the width for 100% with a max-width so it shrinks on phones, keep the height tall enough for the longest version of the form, and add a title.

Calendly

On your scheduling page, open the three-dot menu next to the event and choose Add to website. Calendly then offers three styles: inline embed, popup widget (a floating button) and popup text (a link). You can also hide your photo or the event details before copying.

The inline code is a div with the class calendly-inline-widget, your link in data-url, and one script from assets.calendly.com. Load that script once per page even if you show several widgets.

Typeform

Typeform's embed library reads any element with data-tf-widget and turns it into the form, so the snippet is a div plus a script. The form id is the last part of your typeform address after /to/.

For a button that opens the form in a popup, the library exposes window.tf.createPopup, which returns open, close and toggle functions you can attach to your own button.

Speed and privacy

Every embed loads another site's code and may set that site's cookies, so mention the services in your privacy policy. If a form is far down the page, lazy loading or a button that opens it keeps the first view fast.

How it works

  1. Pick the service in the builder below.
  2. Paste what the service gave you: the Google iframe code, your Calendly link, or your typeform link.
  3. Set the height and a short title that describes the form, and choose lazy loading if the form sits below the fold.
  4. Copy the cleaned snippet into an HTML or embed block on your site and test it on a phone.

Tips

Frequently asked questions

Why does my embedded Google Form have two scrollbars?

The iframe is shorter than the form, so the form scrolls inside it while the page scrolls too. Increase the height attribute until the whole form fits, and recheck after adding questions, since the frame does not grow by itself.

Can I style an embedded Google Form with my own CSS?

No. The form is a page served by Google inside a frame, and your stylesheet cannot reach into it. You can change its theme inside Google Forms, or build your own form that submits elsewhere.

How do I stop the Calendly inline widget being cut off?

Calendly's own code sets a minimum width of 320px and a fixed height. Raise the height if your event asks extra questions, or use the popup text or popup widget options so the scheduler opens over the page instead.

Which Typeform embed should I use?

Typeform lists inline, full page, popup, slider, popover and side tab embeds. Use inline when the form is the point of the page, and a popup or slider when it is a secondary action next to other content.

Do these embeds work on a site built with We.Inc?

Yes. Add the snippet in an HTML or embed block, or ask the editor to place the form in a section. The snippet is ordinary HTML, so it behaves the same as on any other site.

Related: How to add a contact form, HTML iframe and video, Booking form generator, Embed a Google Map, Send a form to email, HTML embed code generator.

Start for free or see all free tools. We.Inc is free to start, with no card needed. AI building is on paid plans from $20 a month.

More in Guides

We.Inc is an AI-powered website builder you can resell under your own brand. Launch a branded client dashboard, bill on Stripe Connect, and deliver AI-generated websites in minutes. White-label plans start at $99 a month for 25 client sites, with a 7-day free trial and no per-site fees.

Product

Who It's For

Features

Resources

Company

View Sitemap