---
title: "Embed a form in any site — formformform"
description: "One lightweight async snippet embeds a formformform form into React, Vue, Webflow, WordPress, Squarespace, or plain HTML. Visitors never leave the page, and it themes to match your site."
url: "https://www.formformform.com/features/embed"
type: static
generatedAt: "2026-08-23T18:56:58.727Z"
---
[Features](https://www.formformform.com/features)/Embed a form in any site

Share & embed

# Embed a form in any site

One lightweight snippet drops a form straight into your page — in React, Vue, Webflow, WordPress, Squarespace, or plain HTML. Visitors fill it in without ever leaving, and it loads async so your page stays fast.

[Start for free](https://app.formformform.com/register?utm_source=landing&utm_medium=feature-bottom&utm_campaign=features&utm_content=embed)[All features →](https://www.formformform.com/features)

acme.com/contact

Acme

ProductPricingContact

# Talk to our team

Questions about a deployment? Send a note and a human gets back within a day.

Embedded · formformform

Name

Jane Rivera

Email

jane@company.com

We reply within a day.Send

<script src="…/embed.js" data-form="contact"\>

The same embed snippet, dropped into a host page — the form renders inline and inherits the layout around it.

One snippet, any stack

Copy one short `<script>` tag and a container element, paste them where you want the form to appear, and you're done. The same snippet works in **React**, **Vue**, **Webflow**, **WordPress**, **Squarespace**, or a plain HTML file you edit by hand. There's no package to install and no build step to wire up — if you can add a tag to a page, you can embed a form. Need it in a component? Drop the container in your markup and let the script find it on mount.

Loads async, stays light

The embed script loads asynchronously, so it never blocks your page from rendering. Your content paints first; the form fills in as soon as it's ready, without holding up everything around it.

The loader itself is small and does one job — mount the form and get out of the way. It doesn't drag in a framework or fight with your own bundle, so adding a form to a page doesn't quietly cost you a slower load.

Looks like it belongs

An embedded form should read as part of your page, not a panel bolted on top of it. By default the form inherits the width of its container and sits in the normal document flow, so it's responsive without extra CSS and resizes cleanly as visitors fill it in.

When you want it to match more closely, theme it to your brand — colors, type, spacing, corners — from the form editor. And because it's a real embed rather than an iframe you're locked into, your visitors stay on your page from first field to confirmation. There's no redirect, and no second site to trust.

Also included

Works where you build

React, Vue, Webflow, WordPress, Squarespace, or plain HTML — one snippet, same behaviour.

Async by default

The script loads without blocking render, so your page stays fast.

Responsive, no iframe lock-in

The form flows with your layout and adapts to any container width.

Theme to match

Set colors, type, and spacing so the form reads as part of your site.

## Keep exploring

[Popup & modal

Open the same form in a launcher or modal instead of inline.

Explore→](https://www.formformform.com/features/popup)[Share links & QR

Send a hosted link or QR code when you don’t want to embed at all.

Explore→](https://www.formformform.com/features/share)[Webhooks & API

Forward each submission to your own systems the moment it lands.

Explore→](https://www.formformform.com/features/webhooks-api)

## Put a form on your page

Build a form, copy the snippet, and paste it wherever you want it. It works the same on every stack.

[Start for free](https://app.formformform.com/register?utm_source=landing&utm_medium=feature-bottom&utm_campaign=features&utm_content=embed)
