Add a forms.app form to any website or app: a plain <iframe>, or a small JavaScript snippet that unlocks pop-ups, side tabs, a chatbot-style widget, a full-page layout, and prefilled fields.
This section covers both embed methods, every layout forms.app supports, how to pass data into a form from your page's URL, and framework examples for React, Next.js, Vue, and Kotlin.
Every code sample in this section is built around a real form ID and domain, both of which are specific to your account:
- Open the form in forms.app and go to the Share page.
- Choose Embed, then pick Iframe or Script.
- Configure the layout and settings, then click Get the code.
- Copy the generated code as-is. Always copy from the Share page rather than hand-editing the domain or form ID, since these reflect your account's data region.
The long string in the embed code (for example 69d4bd130b443bda40c8f65a) is your form's ID. It appears in both the src URL and, for script embeds, as the first argument passed to formsapp().
Iframe embed
A single <iframe> tag. No JavaScript required. The simplest way to place a form inline on a page.
Script embed
A loader script plus a small snippet. Required for every layout besides a basic inline form, plus auto-resizing height and prefilled data.
Beyond a plain inline form, the script embed supports five additional layouts:
Full page
The form fills the entire browser viewport.
Chatbot
A chat-bubble button that opens the form in a compact window.
Side tab
A small tab on the edge of the screen that expands into the form.
Pop-up
A modal dialog, opened by a click, on page load, or after a delay.
Slider
A panel that slides in from the edge of the screen.
Prefill fields or pass along context, like a referral code or UTM parameter, from your page into the embedded form. See Passing data to your form.