# How to embed a Google Form, and what it loads

How to embed a Google Form with Google's iframe code, what the embed loaded in three browsers, what you cannot style, and when to use your own form instead.

Author: Formgong
Published: 2026-11-03
Language: en
Canonical: https://formgong.com/en/blog/embed-google-form/

In Google Forms, open the form, choose More, then Embed HTML, copy the iframe code and paste it into your page. It works on any site that accepts HTML. In our test on 3 November 2026, Google's own sample form loaded 90 requests and 4.5 to 4.8 MB inside the frame, against 1 request and 1.3 KB for a plain HTML form, and none of our page's CSS reached it.

## How do you embed a Google Form on a website?

You need the form's embed code and a place on your site that accepts raw HTML. Google's help page for sharing a form gives the path: open the form, click the More menu at the top right, choose Embed HTML and copy what it shows. The dialog lets you change the width and height before you copy. Then paste the code into a custom HTML or embed block in your site builder, or straight into your page's HTML. Publish the form first; the same help page says responders cannot open it until you do.

The code is a single `<iframe>`, a window onto Google's page inside yours. That one line is why embedding is so quick, and it is also behind every limit below, because everything inside the window still belongs to Google.

```html
<!-- What Google's Embed HTML dialog gives you. Change width and height to fit your page. -->
<iframe src="https://docs.google.com/forms/d/e/YOUR_FORM_ID/viewform?embedded=true"
        width="640" height="1200" frameborder="0" marginheight="0" marginwidth="0">Loading…</iframe>
```

## What does an embedded Google Form load?

We could not test a form of our own, because we did not create a Google form for this, and we never submit anything to a form we do not own. Google publishes a sample form for developers in its Forms API overview, a short quiz, so we embedded that with Google's own snippet and only loaded it. Next to it we loaded a plain HTML contact form, in Chromium, Firefox and WebKit, each time with an empty cache. Our test machine is in Germany, so Google showed the form in German; with another language the font count may differ a little.

Google's sample form in its embed code vs a plain HTML form, 3 November 2026. Ranges cover the three browsers; run 1 and run 2 agreed.
MeasuredEmbedded Google Form · plain HTML form
Requests90 for the embed (1 more for our page) · 1 for the plain form
Bytes transferred4.5 to 4.8 MB for the embed · 1.3 KB for the plain form
Font files72, from fonts.gstatic.com · 0
Scripts2, about 249 KB · 0
Google host names contacted6 · 0
Most of the weight was fonts. The frame pulled 72 font files from Google's font servers, 3.7 to 4.0 MB of the total, plus Google's form app scripts, all before anyone typed a letter. A short quiz is a small form, so a longer one will not be much lighter. If the form sits low on a long page, adding `loading="lazy"` to the iframe tells the browser to wait until the visitor scrolls near it.

## Can you style an embedded Google Form?

Only from inside Google Forms. Google's help page on themes lists what you can change: a theme colour and background colour, a header image, and the font and size for headers, questions and text. Your website's CSS cannot reach into the frame, because the frame is a different site and browsers keep the two apart.

What our test page could change about the embedded form, 3 of 3 browsers
QuestionResult
Can the page read the frame's document?No: contentDocument was null in 3 of 3 browsers
Did our page's font rule reach the form?0 of 212 visible elements inside the frame took it
Fonts the form used insteadRoboto, Google Sans and Product Sans
Form height at 640 px wide1,147 px, so our 900 px frame scrolled inside the page
Form height at a 375 px phone width1,213 px
Messages from the frame that a script could use to resize it0 in 5 seconds
You will notice the height first. The frame keeps whatever height you typed, and in our test it sent no messages that a script on your page could use to resize it. Our 900 px frame was 247 px shorter than the form, so the form got its own scrollbar inside the page, and on a phone the form grew to 1,213 px. Pick the height for the phone, add a little room, and look at the page again whenever someone edits the form.

## What do you give up with an embedded Google Form?

Beyond the look, the form is still Google's. It runs on docs.google.com rather than your domain, Google's own footer stays at the bottom of the frame, and the answers live in the Google account that owns the form. Google's help page on responses shows that email alerts are a setting you switch on per form, under Responses, More, Get email notifications for new responses. If you want alerts somewhere else, [Google Form to Telegram](/en/blog/google-form-to-telegram/) covers both the add-on route and a replacement.

For surveys, quizzes and internal forms none of that matters much, and Google Forms is a good tool. It matters on a business site where the contact form is how customers reach you. Our page on the [Google Forms alternative for a website](/en/google-forms-alternative/) compares the replacements in detail; the short version is below.

## When is your own form the better choice?

When the form should look like your site, load like the rest of your page and send you the answers directly. A plain HTML form in the same spot weighed 1.3 KB in our test and took our page's fonts automatically, because it is part of the page. It needs somewhere to send the answers, and that is the job of a form backend. Fillout's guide “How to Embed Google Forms” (updated 15 September 2026) agrees that, apart from width and height, there is no way to fully change how an embedded Google Form looks, and suggests switching to Fillout's own embed. Splitforms' comparison “Embed a Google Form or Use a Native Form?” (updated 29 September 2026) estimates the embed at “hundreds of kilobytes”; in our measurement it was 4.5 to 4.8 MB. With Formgong you drop the frame rather than swap it: your own HTML form posts to Formgong, each submission is emailed to you, and every plan can connect one Google Sheet per form, so the spreadsheet you worked from in Google Forms can keep filling up. The [Google Sheets integration](/en/integrations/google-sheets/) shows the setup, and the [contact form generator](/en/tools/contact-form-generator/) writes the form for you. If the page already has a Google embed, our [form checker](/en/tools/form-checker/) will tell you so, because it cannot see inside the frame either.

```html
<!-- The same place on your page, with your own form instead of the frame. -->
<form action="https://formgong.com/submit" method="POST">
  <input type="hidden" name="access_key" value="fk_your_access_key">
  <label for="name">Name</label>
  <input id="name" name="name" autocomplete="name" required>
  <label for="email">Email</label>
  <input id="email" name="email" type="email" autocomplete="email" required>
  <label for="message">Message</label>
  <textarea id="message" name="message" required></textarea>
  <button type="submit">Send</button>
</form>
```

## Did your embed load differently?

If your embedded form loads less, or more, than Google's sample did here, for example with a longer form or in another region, write to [support@formgong.com](mailto:support@formgong.com). We will measure it the same way and add the numbers to the table.

## Frequently asked questions

### How do I get the embed code for a Google Form?

Open the form in Google Forms, click the More menu at the top right, choose Embed HTML and click Copy.

### Can I change the font of an embedded Google Form with CSS?

No. The form is in a frame from another site, so your CSS cannot reach it. Change the font in Google Forms under Customize theme.

### Why does my embedded Google Form have a scrollbar?

The iframe height is fixed and shorter than the form. Raise the height in the embed code; in our test the form was 1,213 px tall on a phone.

### Does an embedded Google Form slow down my page?

It adds weight. Google's sample form loaded 90 requests and 4.5 to 4.8 MB in our test, mostly fonts. Lazy-loading the iframe delays that until it scrolls into view.

## Sources and documentation

- [Formgong: Google Forms alternative for your website](https://formgong.com/en/google-forms-alternative/)
- [Formgong: Google Form to Telegram](https://formgong.com/en/blog/google-form-to-telegram/)
- [HTML forms](https://formgong.com/en/docs/html/)

[Get a form key](https://formgong.com/en/#top)
