The fastest way to place a form on a page: a single <iframe> element, no JavaScript required. Use it when you need a static, inline form and don't need pop-ups, alternate layouts, or prefilled data.
<iframe id="" allowtransparency="true" allowfullscreen="true" allow="geolocation; microphone; camera" src="https://eu.forms.app/form/69d4bd130b443bda40c8f65a" frameborder="0" style="width: 100vw; min-width:100%; height:600px; border:none;"></iframe>Copy your own version of this snippet from the form's Share page in forms.app: choose Embed → Iframe, then Get the code. The src URL already contains your form ID and account domain, so paste it as-is.
| Attribute | Purpose |
|---|---|
id | Optional identifier you can set to target the iframe from your own CSS or JavaScript. |
allowtransparency | Lets the form's background render transparently over your page's background. |
allowfullscreen | Lets embedded content request full-screen mode, needed by some field types such as drawing & signature. |
allow="geolocation; microphone; camera" | Grants the browser permissions the form may need for location, audio, or camera-based fields. Remove any you don't use. |
src | The form's public embed URL, including your form ID and account domain. |
frameborder | Legacy attribute kept for older browser support; the border is also removed via style. |
style (width, min-width, height) | Sizing. width: 100vw; min-width: 100% makes the iframe fill its container's width; height is a fixed pixel value. |
An iframe has a fixed height. If the form is long, uses conditional logic, or is multi-step, a fixed height can crop content or add an inner scrollbar. Options:
- Increase the
heightvalue to fit your tallest expected content. - Switch to the script embed, which supports
'height':'formHeight'for automatic resizing.
The allow attribute controls which browser permissions the form is allowed to request. Match it to the field types your form actually uses:
| Field type | Required permission |
|---|---|
| Address (with location lookup) | geolocation |
| Audio recording fields | microphone |
| Image upload / camera capture | camera |
Omitting a permission the form needs causes the browser to silently block that feature inside the iframe.
- Script embed for pop-ups, side tabs, auto-resizing height, and prefilled data.
- Passing data to your form.
- Examples for React, Next.js, Vue, and Kotlin.