Framer's native form stops at name and email. For multi-step flows, file uploads, and custom design, paste an AI-generated HTML embed wired to your portal. Enable CAPTCHA in the dashboard before launch - especially for file upload forms.
MyFormConnect Team
8 min read
Framer's built-in form is fine for a name and email field. Once you need multiple steps, file uploads, or a layout that actually matches your site, you hit the wall pretty fast.
The workaround that actually works: a custom HTML embed wired to a form backend. And you don't have to write that HTML by hand - point an AI assistant at our skill file, paste the result into Framer, done.
Plugins and third-party widgets exist, but you're stacking another subscription and another dependency. A plain HTML embed you own is simpler - and it travels with you if you leave Framer.
Framer's Embed element renders any HTML/CSS/JS block on your page. You bring the form; Framer displays it.
Total setup time: a few minutes if you already have the form UUID.
loader.js reads your CAPTCHA settings automatically when you use data-captcha="auto". No extra wiring in Framer after you select CAPTCHA in the dashboard.
Paste this into ChatGPT, Claude, Cursor, or v0. Replace the placeholders.
Analyze this website and build a matching responsive multi-step
SALES contact form for Framer Embed: [YOUR_FRAMER_SITE_URL]
Submit to MyFormCapture form UUID: [YOUR_FORM_UUID]
Use this integration guide:
https://myformcapture.com/skills/myformcapture/html/SKILL.md
Return one self-contained HTML snippet (inline CSS and JS only).
Requirements:
- Multi-step sales inquiry (5 steps with progress bar)
- Step 1: Company and name
- Step 2: Email and phone
- Step 3: Budget, timeline, service type
- Step 4: File upload (brief, PDFs, images - multiple files)
- Step 5: Review and submit
- Include loader.js with data-captcha="auto" and data-mfc="true"
- CAPTCHA must be enabled in the dashboard (reCAPTCHA or hCaptcha) - required for file upload forms
- Show inline success message after submit
Same structure works for job applications (resume upload), agency briefs (PDF attachments), photography inquiries (reference images) - change the steps and fields, keep the skill URL and Form UUID.
Native Framer forms can't collect files. In your embed:
<input type="file" name="brief" accept=".pdf,.doc,.docx,.png,.jpg,.zip" />
<input type="file" name="documents[]" multiple accept=".pdf,.png,.jpg" />
The form needs enctype="multipart/form-data". Pro plans support ~95-100 MB total per submission. Files show up in your MyFormCapture dashboard with download links.
Enable CAPTCHA before you go live. File upload forms are a common bot target. Select reCAPTCHA or hCaptcha in your dashboard, then use loader.js in the embed so verification runs before upload - not after. See Advanced spam & captchas.
More detail: Forms with file upload.
Public forms get hit by bots. File upload forms especially - bots can burn submission quota and store useless files. If spam filtering happens only after submission, those requests still count against your plan.
data-captcha="auto" and data-mfc="true".Loader runs honeypot checks and your selected CAPTCHA before the POST (and before any files upload):
<script src="https://myformcapture.com/loader.js"
data-client-id="YOUR_DOMAIN_UUID"
data-captcha="auto"></script>
<form data-mfc="true" action="https://myformcapture.com/f/YOUR_FORM_UUID"
method="POST" enctype="multipart/form-data">
...
</form>
See Using Loader.js and Advanced spam & captchas.
Heavy third-party form widgets can tank Core Web Vitals. This approach doesn't - it's your HTML pasted directly, plus one small script from MyFormConnect that only does work when someone actually submits. No iframe, no tracking pixel on page load.
No. Insert -> Embed -> paste HTML. Same approach works on Webflow, Squarespace, Carrd, or any host that accepts embeds.
Yes - it's your HTML and CSS. Ask the AI to match your site URL in the prompt. If the first pass is off, ask it to restyle using your fonts and colors while keeping field names and submit logic identical.
Yes. Same embed on every page, or create separate forms per page for separate inboxes.
Include the skill URL in your prompt - that's what it's for. Without it, you'll get generic names like field1 that aren't useful in the dashboard.
| Feature | Framer native | Custom embed + MyFormConnect |
|---|---|---|
| Multi-step with progress | No | Yes |
| File uploads | No | Yes (~95-100 MB on Pro) |
| Custom design | Limited | Full control |
| Conditional fields | No | Yes (in your JS) |
| Submission inbox | Basic | Search, filters, export |
| Slack / webhooks / Zapier | Limited | Yes |
| CAPTCHA before submit | Basic | loader.js + dashboard config |
Get form and lead-capture tips in your inbox.
MyFormCapture Team
Our team of experts helps businesses improve their lead capture and conversion rates through strategic form design and implementation.