At-a-glance comparison
I tested every embed on a real Next.js landing page, measured the network payload with Chrome DevTools, and checked the rendered output on a 360px mobile viewport. Numbers below are what loaded in 2026-05, on a fresh page load with cache disabled.
| Tool | Embed size (gzipped) | Custom CSS | Mobile UX | Page-speed impact | Branding-free |
|---|---|---|---|---|---|
| splitforms | 0 KB (raw HTML) | Total — your CSS | Native, fast | None | Yes, free |
| Tally | ~25 KB + iframe | Query params + paid | Good | Low | Paid only |
| Typeform | ~80 KB + heavy iframe | Brand colors only | Excellent | High | Paid only |
| JotForm | ~45 KB JS or iframe | Yes, dashboard CSS | Good | Medium | Paid only |
| Paperform | ~60 KB + iframe | Yes, custom CSS | Good | High | Paid only |
| Fillout | ~35 KB + iframe | Theme editor | Excellent | Medium | Paid only |
| Google Forms | iframe only (~20 KB shell) | Theme color only | Okay | Low | No (Google badge) |
| Wufoo | ~40 KB JS or iframe | Yes, theme + CSS | Dated | Medium | Paid only |
| Cognito Forms | ~70 KB JS embed | Yes, dashboard CSS | Good | High | Paid only |
| Microsoft Forms | iframe only | Theme color only | Dated | Low | No (MS badge) |
If you only care about page speed and SEO, the top of this table is the only row that matters. Every other tool ships at least 20 KB of JavaScript and most ship an iframe that hides content from search engines.
How we picked: the criteria that actually matter
Most embeddable-form roundups score on logo prettiness. That's useless. Here's what I actually scored on, in order of weight:
- Embed weight in KB. Anything over 50 KB gzipped degrades Largest Contentful Paint on mobile. A form widget should never be the heaviest thing on your page.
- Custom CSS support. Can you make the form look like the rest of your site, or does it scream "I'm a SaaS widget"?
- Mobile UX. Touch targets ≥ 44px, no zoom on input focus, no horizontal scroll at 360px.
- Framework support. Does the embed work cleanly in Next.js, React, Astro, Vue, and Svelte — or do you fight hydration warnings?
- SEO impact. Iframe contents don't get indexed. Native HTML does.
- Branding on free tier. Does the tool slap its logo on your form? Most do.
- Free tier headroom. 50 submissions/month is a toy. 1,000 is usable.
splitforms wins on 1, 2, 5, 6, and 7. Tally and Fillout win on 3. Typeform wins on 3 but loses badly on 1. That's the whole story.
1. splitforms — HTML-native embed, 0 KB JavaScript
splitforms isn't a widget you embed. It's a backend you POST to. You write the form in plain HTML — same tags you'd write for a static contact page — and the form action submits to splitforms.com/api/submit. That means zero JavaScript, zero iframe, zero render-blocking requests, and zero visible widget chrome.
The implication for embed weight: nothing. The HTML you write is the embed. If your form is 30 lines of HTML, the embed is 30 lines of HTML. Compare that to Typeform, which ships ~80 KB of JS and an iframe before a single input appears on screen.
Here's the actual embed code:
<form action="https://splitforms.com/api/submit" method="POST">
<input type="hidden" name="access_key" value="YOUR_ACCESS_KEY" />
<input type="text" name="name" required />
<input type="email" name="email" required />
<textarea name="message" required></textarea>
<input type="checkbox" name="botcheck" style="display:none" tabindex="-1" />
<button type="submit">Send</button>
</form>Pricing: Free for 1,000 submissions/month. $5/month Pro for 5,000. $59 for 4 years if you want to lock the price. Webhooks, AI spam filter, and unlimited forms are included on the free tier.
What's good: Lightest payload on Earth, total CSS control, works in every framework and every static site generator, no branding, free webhooks, indexable by search engines, file uploads supported.
What's missing: No drag-and-drop visual builder — you write HTML. If you can't edit a code block, this isn't the tool for you. Use a free contact form template to skip the typing.
Verdict: The pick for any site where page speed and SEO matter. Grab an access key at splitforms.com/login.
2. Tally — lightest pure-widget option
Tally is the closest a visual widget gets to splitforms' weight class. The embed script is ~25 KB gzipped and the iframe lazy-loads only after the script initializes. On mobile, the form renders quickly and the touch targets are correct out of the box.
Pricing: Free tier is generous (unlimited submissions, unlimited forms), but conditional logic, payments, custom domains, and CSS control all gate behind Tally Pro at $29/month.
What's good: Light embed, clean default styling, no JS framework fights, decent free tier.
What's missing: CSS customization is paid. The Tally badge stays unless you pay. Iframe content isn't indexed for SEO.
Verdict: Good widget if you don't want to touch HTML. If page speed and CSS control matter, splitforms still wins. See Tally alternatives or splitforms vs Tally for the head-to-head.
3 & 4. Typeform and JotForm — heavy, feature-rich, paywalled
3. Typeform — best UX, worst page-speed cost
Typeform's one-question-at-a-time UX still feels premium. Conversion rates on long surveys are genuinely higher with Typeform than with traditional forms. But that polish comes at a cost: the embed script weighs in around 80 KB gzipped, the iframe pulls in fonts and animations, and on a 4G mobile connection the form takes 2+ seconds to become interactive.
Pricing: Free tier capped at 10 questions and 10 responses/month — basically a demo. Basic starts at $25/month, Plus at $50/month.
What's good: Best-in-class conversational UX. Logic jumps, calculated fields, payments. What's missing: Heavy embed, paywalled at every turn, Typeform branding sticks on free, iframe kills SEO. Verdict: Worth it only for long, conversion-critical surveys. See migrate from Typeform or splitforms vs Typeform.
4. JotForm — most features, busiest interface
JotForm has every form feature you've heard of and 200 you haven't. Signatures, payments, conditional logic, file uploads, kiosk mode, PDF generation. The embed comes in two flavors: a JS embed (~45 KB) that injects the form inline, or a plain iframe.
Pricing: Free for 100 submissions/month with JotForm branding. Bronze $34/month, Silver $39/month, Gold $99/month.
What's good: Genuinely deep feature set. HIPAA option. Big template library. What's missing: The interface feels 2014. Free tier is tiny. Branding is loud on free. Embed weight is medium-high. Verdict: Pick JotForm only if you specifically need its niche features. See JotForm alternatives or splitforms vs JotForm.
5 & 6. Paperform and Fillout — newer builders, cleaner UX
5. Paperform — Notion-like form builder
Paperform's gimmick is that the form looks like a document. You type prose and drop inputs inline. The result is pretty, especially for product onboarding forms. Embed is ~60 KB plus an iframe.
Pricing: No free tier — starts at $29/month after a 14-day trial. That alone disqualifies it for most indie use cases.
What's good: Beautiful default design. Conditional logic. Custom CSS allowed. What's missing: No free tier, heavy embed, iframe SEO penalty, Paperform branding until you pay extra. Verdict: Niche pick. If you're building a single high-stakes onboarding form and you have budget, fine. For everything else, the price-to-value isn't there.
6. Fillout — best built-in logic on free tier
Fillout is the newer entrant that's actually keeping pace with Tally and Typeform on UX while keeping the free tier usable. The embed is ~35 KB plus iframe. Conditional logic, page jumps, and calculations all work on free.
Pricing: Free up to 1,000 submissions/month with Fillout branding. Starter $19/month removes branding.
What's good: Solid free tier, clean UI, good logic engine, decent mobile rendering. What's missing: Still an iframe (no SEO), no raw-HTML option, branding paywalled. Verdict: The best pure-widget pick if you specifically want a builder UI and you can't write HTML. splitforms still wins on weight and SEO.
7–10. Google Forms, Wufoo, Cognito Forms, Microsoft Forms
7. Google Forms — free, ugly, ubiquitous
Google Forms is the default for "I just need a form right now and I have a Gmail account." The iframe embed is small (the shell is ~20 KB) but the rendered form looks unmistakably Google. You get a single theme color and almost no other customization. Pricing: Free for everyone with a Google account. What's good: Free, reliable, integrates with Google Sheets natively, zero learning curve. What's missing: Looks like Google Forms. No real custom CSS. The "Powered by Google" line is permanent. File uploads require respondents to be signed into Google. Verdict: Use it for internal surveys and classroom quizzes. Don't embed it on a paid landing page. See Google Forms vs Typeform vs splitforms.
8. Wufoo — stable but stale
Wufoo was a category leader a decade ago. The embed (~40 KB JS or iframe) still works, and the dashboard CSS injection is more flexible than most. But the default styles look dated and the interface hasn't had a serious refresh in years. Pricing: Free for 100 submissions/month with branding. Starter $14/month. Verdict: Stable but stale. Pick something else.
9. Cognito Forms — B2B forms with heavy embed
Cognito is the "business forms" pick — strong on conditional logic, payments, document merging, and HIPAA. The JS embed is ~70 KB which is heavy for the use case. Pricing: Free for 500 submissions/month with branding. Pro $19/month. Verdict: Good for B2B intake forms where features matter more than weight. For a simple contact form, overkill.
10. Microsoft Forms — bundled with M365, looks the part
Microsoft Forms exists. It embeds via iframe, looks like 2018 Microsoft, and is bundled with Microsoft 365. If you're on a Microsoft tenant and need an internal poll, it's already paid for. Pricing: Bundled with M365. Verdict: Don't use it for public-facing forms. The styling and badge make your site look corporate-internal.
Which one should you actually pick?
Quick decision tree:
- You can write or paste HTML and care about page speed / SEO → splitforms. Skip the widgets entirely.
- You can't write HTML but want a free, light widget → Tally (simple) or Fillout (logic-heavy).
- You're running a long conversion survey on a high-traffic landing page → Typeform, despite the weight.
- You need a niche feature like e-signature, HIPAA, or document merging → JotForm or Cognito Forms.
- You need an internal form for your team in 30 seconds → Google Forms or Microsoft Forms.
- You want the prettiest single onboarding form and have budget → Paperform.
For 80% of indie devs, freelancers, and SaaS landing pages, splitforms covers the use case at zero cost. For the other 20%, pick from the list above based on the specific feature you need.
How to switch to splitforms from any widget
The switch is mostly a deletion. You rip out the third-party embed script and replace it with an HTML form.
- Sign up at splitforms.com/login and grab your access key.
- Delete the embed script (Tally, Typeform, JotForm loader) or the iframe from your page.
- Paste in the HTML form from the example block above, replacing
YOUR_ACCESS_KEY. - Style with whatever CSS your site already uses — Tailwind classes, scoped styles, or a single rule per input.
- Test once on production, confirm the submission lands in your inbox and the splitforms dashboard.
For tool-specific migration steps, read migrate from Typeform or migrate from Formspree. For broader context on free backends, best free form backend services 2026 compares the underlying APIs. Browse more in the blog index. Implementation questions live in /docs and /api-reference; plan and account questions live in /faq.
Spam-protection setup for a freshly-embedded form: see honeypot vs reCAPTCHA. Then create your first form at splitforms.com/login.
FAQ
What's the lightest embeddable form widget?
splitforms is the lightest because it doesn't ship a widget at all — you embed raw HTML that POSTs to splitforms.com/api/submit. Total payload: 0 KB of JavaScript, 0 KB of CSS. Tally's embed script is around 25 KB minified plus an iframe. Typeform's embed loader is 60–90 KB with the actual form lazy-loading more. If you care about Core Web Vitals, raw HTML beats every JS widget on the planet.
Can I style an embedded form to match my site?
Depends on the tool. With splitforms you write the form HTML yourself, so styling is 100% yours — Tailwind, CSS modules, plain CSS, whatever. Tally and Fillout iframe embeds accept query-string color and font params. Typeform and Paperform expose limited brand colors on paid plans. JotForm and Wufoo let you inject some CSS in the dashboard. Google Forms and Microsoft Forms give you almost no control beyond a theme color.
Do iframe embeds hurt SEO?
Yes, slightly. Search engines don't index iframe contents as part of your page, so the form's questions, labels, and microcopy don't contribute to your page's topical relevance. If you embed a Typeform on a landing page, Google sees an empty container. Native HTML forms (like splitforms uses) are part of your page's DOM, so headings, labels, and helper text count for SEO.
Which embed works inside Webflow, Framer, Squarespace, and Carrd?
splitforms works in all of them because it's just an HTML form — paste it into any code-embed block. Tally, Typeform, JotForm, and Paperform all ship official embed snippets that work in major page builders. Google Forms and Microsoft Forms iframe blocks paste fine but look out of place because you can't restyle them. Cognito Forms has a JS embed that works but adds noticeable weight.
Are embedded forms accessible by default?
Native HTML (splitforms) is the most accessible — labels associate with inputs, browsers handle keyboard navigation, screen readers work without extra JS. Most widget embeds inside iframes break tab order between your page and the form. Typeform's accessibility has improved but still has gaps for complex forms. Google Forms and Microsoft Forms are mid-tier. If accessibility matters for compliance, write your own HTML.
Can I capture leads from embedded forms into a CRM?
Every tool on this list can forward submissions somewhere, but the routes vary. splitforms includes free webhooks on every plan and integrates with Zapier, plus direct guides for sending submissions to Notion, Airtable, Slack, Discord, HubSpot, and Google Sheets. Tally, Typeform, JotForm, and Paperform offer native integrations but most require a paid plan. Google Forms only writes to its own Sheets sibling.
What about file uploads in embedded forms?
File uploads work in JotForm, Cognito Forms, Paperform, Fillout, and Wufoo out of the box. Google Forms supports file upload but only for signed-in Google users. Tally supports it on the free plan. Typeform supports it on paid tiers. splitforms supports file uploads via standard multipart form HTML — read the guide at /blog/how-to-add-file-uploads-to-contact-form for the wiring.
Is there a free embeddable form widget with unlimited submissions?
Truly unlimited and free doesn't exist — every tool meters something. The most generous free tiers in 2026: splitforms (1,000 submissions/month, all features), Tally (unlimited submissions but capped at 10 questions per form on free), Google Forms (unlimited within Google's terms but no real branding control). For a serious site under 1,000 submissions a month, splitforms is the only widget that gives you everything free.