FreeSharing and embedding cost nothing on any plan

Embed a form on your website, share a link, or send it by email

One form, three ways out into the world. Publish and Upform hands you a public link, an iframe snippet for any site builder, and a snippet for email. All three are on the free plan, with no response cap behind them.

One iframe, no scriptsWorks in any site builderFree on every plan

Unlimited forms and responses on the free plan. Forever.

Share your form

Share your form via link, embed it on your website, or add it to emails.

Form link

app.upform.com/preview/client-onboarding

Embed on your website

Copy the code below and paste it into your website's HTML.

<iframe src="https://app.upform.com/preview/client-onboarding" width="100%" height="600" frameborder="0" style="border:none;border-radius:8px;"></iframe>Copy

Embed in email

Most email clients don't support iframes, so use this button instead.

Fill out form →

1 →

What is the site address?

Paste the URL you want us to look at.

https://
Next →press Enter ↵

3

Ways to publish: link, embed, email

1

Iframe to paste. No script tag

$0

What sharing costs, on any plan

∞

Responses through every channel

Distribution

Three ways to put a form in front of people

They all point at the same form and the same response table. Pick by where the person already is when you ask.

A public link

Publishing gives you a short URL like upform.com/f/site-brief. Open it and the form takes the full screen, with your logo, font and background loaded behind a brief overlay before question one paints.

Use it when you are sending the form rather than hosting it: a DM, a sales follow-up, a Slack channel, a QR code on a printed card, a link in a bio.

An iframe embed

One snippet, pasted into any HTML block. The form runs inside your page, so your header, your nav and your domain stay exactly where they are and the person never leaves the site they came to.

Use it when the page is the ask: a contact page, a pricing page with a quote request, a landing page you are paying to send traffic to.

An email snippet

A short block of email-safe HTML with the link already in it. It is a styled link, not a live form, and that is deliberate: mail clients strip iframes, so a real embed would break for most of your list.

Use it when the ask arrives in an inbox: a post-purchase survey, an onboarding sequence, a newsletter asking what to write next.

The code

The form embed code, in full

Both snippets are copy buttons in the Share tab. Here is what they actually contain, so you know before you paste.

Embed a form on a website

Open a published form, go to Share, switch to Embed and copy. It is one iframe. No script tag to load, no package to install, nothing that has to run before your page paints.

<iframe
  src="https://upform.com/f/your-form-id"
  title="Project brief"
  width="100%"
  height="720"
  loading="lazy"
></iframe>

Swap your-form-id for the slug at the end of your public link, the part after /f/. Height is the one value worth tuning: a conversational form shows one question at a time, so 640 to 760 pixels suits most forms and keeps the answer field above the fold on a laptop.

Send a form in an email

The email snippet is plain, inline-styled HTML that survives Outlook, Gmail and Apple Mail. Paste it into your sending tool's HTML editor and change the words, not the href.

<p style="font-family:Arial,sans-serif;font-size:16px;line-height:1.5">
  Three quick questions before we start on the brief.
</p>
<p>
  <a href="https://upform.com/f/your-form-id"
     style="font-family:Arial,sans-serif;font-size:16px;font-weight:bold">
    Open the brief
  </a>
</p>
One height, checked on a phone An iframe does not grow with its contents. Set the height to fit your tallest question (usually the one with the most choices, or a file upload field), then load the page on a phone before you call it done. If the form scrolls inside the box, the height is too low.

Publishing

Nothing is live until you say so

A new form is private. It has no public URL, the embed code is inert, and no one outside your account can reach it. Publishing is the switch, and it is reversible.

  • Forms stay private until you publish, so drafts collect nothing, even if the link leaks
  • An unpublished link shows a polite overlay, not a 404, so the person knows to come back
  • The URL never changes, so an embed you shipped a year ago keeps working after every edit
  • Public submissions run invisible reCAPTCHA v3, so an embedded form is not a spam funnel
  • Unpublish when a campaign ends: the link survives, the questions stop
How Upform handles your data

Draft Not accepting answers

This form isn't published yet

The owner is still working on it. Check back shortly. The link will not change.

Built with Upform
No answers are being recorded on this page.

What a visitor sees on an unpublished link: an overlay inside your own form frame, rather than a broken page.

Compatibility

Where the embed works, and what to watch for

Anywhere you can paste raw HTML, the iframe runs. Here is the honest version for the six places people ask about most.

Webflow

Drop an Embed element on the page and paste the snippet. It renders on the published site rather than in the Designer canvas, so preview live before you judge the height.

WordPress

Use the Custom HTML block in the block editor, or a raw HTML widget in a page builder. Some managed hosts and security plugins filter iframes. If yours does, allow the upform.com origin.

Squarespace

Paste it into a Code Block. Code Blocks sit on Squarespace's Business plan and above; on lower plans, link to the form instead of embedding it.

Notion

Type /embed, paste the public link rather than the iframe, and Notion builds the frame for you. Drag the block taller than it looks like it needs.

Framer

Add an Embed component and choose the HTML option. Set the frame to a fixed height and the form scales with the column it sits in.

Plain HTML

Paste the iframe anywhere in your markup. No build step, no dependency, nothing to keep up to date. The same snippet works in React, Rails, Hugo or a static file.

Walkthrough

Embed a form on your website in four steps

From a finished draft to a working form on your own page. It takes about five minutes, most of which is choosing a height.

Once it is live, form analytics shows you views, starts, completion rate and the question people quit on, the same numbers whether they arrived through the link or the embed.

  1. Publish the form

    Save your changes, then hit Publish. Until you do, the embed snippet exists but renders the not-published overlay instead of your questions.

  2. Copy the embed code

    Open the Share tab and switch from Public link to Embed. Your form id is already filled in, so there is nothing to edit unless you want a different height.

  3. Paste it into an HTML block

    Webflow Embed, WordPress Custom HTML, Squarespace Code Block, Framer Embed, or straight into your template. Publish the page and the form appears inside it.

  4. Check it on a phone, then match the design

    Load the live page on a phone and scroll past the form. If it scrolls inside its own box, raise the height. Then set the form's colors, font and radius in Design so it looks like it belongs to the page around it.

Frequently asked questions

How do I embed a form on my website?

Publish the form, open the Share tab and switch to Embed. Upform gives you one iframe snippet with your form's id already in it. Paste that snippet into an HTML block on your page (a Webflow Embed element, a WordPress Custom HTML block, a Squarespace Code Block, or straight into your own markup) and the form renders inside the page. There is nothing to install.

Do I need a paid plan to embed a form?

No. Sharing and embedding are on the free plan, alongside unlimited forms, unlimited responses, all 21 question types and conditional logic. The only difference Pro makes to an embed is that it removes the small Upform mark from the form itself. Pro is $12 a month.

Can I use my own domain?

Not today. Published forms are served on an upform.com link and custom domains are not available. The usual workaround is the iframe embed: the form sits inside a page on your own site, so your domain is what stays in the address bar and what people copy when they share the page.

Why does my embedded form scroll inside a box?

An iframe has a fixed height, so when the form is taller than the height you set, the iframe scrolls instead of the page. Raise the height attribute until the tallest question fits: 640 to 760 pixels covers most forms. A question with eight choices or a file upload field needs more room than a short text question.

Can I put a live form inside an email?

No, and no form builder can do this reliably. Almost every email client strips iframes and scripts, so an embedded form would fail to render for most of your list. The email snippet Upform gives you is a styled link instead: the reader clicks, the form opens in their browser, and the first question is on screen in about a second.

What happens to the link when a form is not published?

The link keeps resolving and shows an overlay saying the form is not published yet, rather than a 404. Forms are private until you publish them, so a draft link pasted into a doc by accident collects nothing. Unpublishing later behaves the same way: the link stays alive, the questions stop.

Get started

Build it once. Publish it three ways.

A public link, an iframe embed and an email snippet out of the same form, with unlimited responses behind all three.

No credit card. Unlimited forms and responses on the free plan.