Free tool · no signup
Feedback Form for Website: Free Generator
Last updated · plan facts checked against /pricing
This free generator builds a feedback form for your website: a 1 to 5 rating, what's working, what to improve and optional contact details. Edit the fields and copy the HTML or React code, with no signup needed to generate it. Paste it into any site, add a free splitforms access key, and every response is emailed to you and saved in your dashboard.
Build your feedback form, then copy the code
1. Backend
where submissions goDon't have one? Get a free splitforms key: 500 submissions total, no credit card.
2. Fields
Click a type to add a field, then use ↑ ↓ to reorder.
Leave empty for a single yes/no checkbox, or list options for a group.
3. Button, style + spam
Style preset (HTML + React)A hidden botcheck checkbox people never see. If a bot ticks it, splitforms silently drops the submission; rule-based spam filtering runs on every submission either way.
Live preview
preview only · submit is disabledfeedback-form.html
<style>
form { max-width: 480px; font-family: system-ui, sans-serif; }
label { display: block; font-size: 13px; font-weight: 600; margin: 14px 0 6px; }
input:not([type=checkbox]):not([type=radio]), textarea, select { width: 100%; padding: 10px 12px; border: 1px solid #d6d6d1; border-radius: 6px; font: inherit; box-sizing: border-box; }
textarea { min-height: 100px; resize: vertical; }
fieldset { border: 0; margin: 14px 0 0; padding: 0; min-width: 0; }
legend { font-size: 13px; font-weight: 600; margin: 0 0 4px; padding: 0; }
label.sf-choice { display: flex; align-items: center; gap: 8px; margin: 8px 0 0; font-size: 14px; font-weight: 400; }
label.sf-choice input { margin: 0; accent-color: #ff4f00; }
button { margin-top: 18px; padding: 12px 20px; background: #ff4f00; color: #fff; border: none; border-radius: 6px; font-size: 14px; font-weight: 600; cursor: pointer; }
button:hover { background: #c93d00; }
</style>
<form action="https://splitforms.com/api/submit" method="POST">
<input type="hidden" name="access_key" value="YOUR_ACCESS_KEY">
<input type="hidden" name="subject" value="New website feedback">
<!-- Honeypot — bots fill every field, humans don't see this -->
<input type="checkbox" name="botcheck" style="display:none" tabindex="-1" autocomplete="off">
<label for="field-name">Your name (optional)</label>
<input id="field-name" name="name" type="text" placeholder="Jane">
<label for="field-email">Email (optional)</label>
<input id="field-email" name="email" type="email" placeholder="[email protected]">
<fieldset>
<legend>How would you rate your experience? <span style="color:#ff4f00">*</span></legend>
<label class="sf-choice"><input type="radio" name="rating" value="5 - Excellent" required> 5 - Excellent</label>
<label class="sf-choice"><input type="radio" name="rating" value="4 - Good"> 4 - Good</label>
<label class="sf-choice"><input type="radio" name="rating" value="3 - Okay"> 3 - Okay</label>
<label class="sf-choice"><input type="radio" name="rating" value="2 - Poor"> 2 - Poor</label>
<label class="sf-choice"><input type="radio" name="rating" value="1 - Very poor"> 1 - Very poor</label>
</fieldset>
<label for="field-working_well">What's working well?</label>
<textarea id="field-working_well" name="working_well" placeholder="The part you'd keep"></textarea>
<label for="field-improve">What should we improve? <span style="color:#ff4f00">*</span></label>
<textarea id="field-improve" name="improve" placeholder="What was confusing, slow or missing?" required></textarea>
<label class="sf-choice"><input type="checkbox" name="follow_up" value="yes"> You can contact me about this feedback</label>
<button type="submit">Send feedback</button>
</form>
<p class="splitforms-attribution" style="margin-top:12px;font-size:11px;color:#888;text-align:right">
Powered by <a href="https://splitforms.com" style="color:#888;text-decoration:none" target="_blank" rel="sponsored noopener">splitforms</a>
</p>Paste into any HTML page, a WordPress Custom HTML block, a Webflow or Carrd embed, or a static site. Replace YOUR_ACCESS_KEY with your key (get one free) and submissions start arriving in your inbox and dashboard.
How to
How to add a feedback form to your website
- Generate your feedback form. Edit the fields in the builder above (rename, reorder, mark required), pick a style, then copy the HTML, React JSX or Tailwind code.
- Get a free access key. Sign up at splitforms and create a form to get its access key. Free covers 500 submissions total, with no credit card and no expiry.
- Paste the code into your site. Replace YOUR_ACCESS_KEY in the code with your key, then paste it where the form should appear. In WordPress use a Custom HTML block; in Webflow, Squarespace or Wix use a code or embed block; on a hand-coded site paste it into the page's HTML.
- Send a test submission. Fill in the form once on your live page and check that it arrives in your inbox and in your splitforms dashboard.
Want visitors to stay on your page after they submit? Add a redirect URL in the builder (it works on every plan) and point it at a thank-you page.
Example output
Website feedback form HTML.
This is the generator's starting feedback form with no CSS preset and the honeypot spam trap on. Replace YOUR_ACCESS_KEY with your key and it works as is; style it with your site's CSS or pick a preset in the builder.
<form action="https://splitforms.com/api/submit" method="POST">
<input type="hidden" name="access_key" value="YOUR_ACCESS_KEY">
<input type="hidden" name="subject" value="New website feedback">
<!-- Honeypot — bots fill every field, humans don't see this -->
<input type="checkbox" name="botcheck" style="display:none" tabindex="-1" autocomplete="off">
<label for="field-name">Your name (optional)</label>
<input id="field-name" name="name" type="text" placeholder="Jane">
<label for="field-email">Email (optional)</label>
<input id="field-email" name="email" type="email" placeholder="[email protected]">
<fieldset>
<legend>How would you rate your experience? <span style="color:#ff4f00">*</span></legend>
<label class="sf-choice"><input type="radio" name="rating" value="5 - Excellent" required> 5 - Excellent</label>
<label class="sf-choice"><input type="radio" name="rating" value="4 - Good"> 4 - Good</label>
<label class="sf-choice"><input type="radio" name="rating" value="3 - Okay"> 3 - Okay</label>
<label class="sf-choice"><input type="radio" name="rating" value="2 - Poor"> 2 - Poor</label>
<label class="sf-choice"><input type="radio" name="rating" value="1 - Very poor"> 1 - Very poor</label>
</fieldset>
<label for="field-working_well">What's working well?</label>
<textarea id="field-working_well" name="working_well" placeholder="The part you'd keep"></textarea>
<label for="field-improve">What should we improve? <span style="color:#ff4f00">*</span></label>
<textarea id="field-improve" name="improve" placeholder="What was confusing, slow or missing?" required></textarea>
<label class="sf-choice"><input type="checkbox" name="follow_up" value="yes"> You can contact me about this feedback</label>
<button type="submit">Send feedback</button>
</form>
<p class="splitforms-attribution" style="margin-top:12px;font-size:11px;color:#888;text-align:right">
Powered by <a href="https://splitforms.com" style="color:#888;text-decoration:none" target="_blank" rel="sponsored noopener">splitforms</a>
</p>Fields
Which fields should a feedback form have?
As few as you can. A rating, one or two open questions and optional contact details cover most website feedback, and every extra required field gives visitors another reason to leave. Keep name and email optional so people can stay anonymous.
| Rating (1 to 5) | One required question anyone can answer in a second, and a number you can track over time. |
|---|---|
| What's working well | Tells you what to keep when you change the page or the product. |
| What should we improve | The answer you actually want. It is required in the preset so a rating never arrives on its own. |
| Name and email (optional) | Optional so anonymous feedback still comes in. When an email is given, splitforms sets reply-to to it, so you can answer from your inbox. |
| Can we follow up (checkbox) | Explicit permission to contact the person, so you only reach out to people who asked. |
Your HTML, your styling
Plain form markup that sits inside your page and picks up your CSS. No iframe and no survey-tool branding.
Honeypot on by default
A hidden botcheck field ships with every form, and splitforms runs smart spam filtering on every submission.
Free email alerts
Every response is emailed to you and saved in a searchable dashboard, on every plan including Free.
How SplitForms works
What happens after someone submits your form?
splitforms receives the submission, filters spam, saves it to your dashboard and emails you — then, on paid plans, sends it on to your webhooks and integrations. No backend infrastructure to build.

Add your endpoint
Point your form to your unique SplitForms endpoint. That's it.

Receive submissions
We instantly capture and organize every submission in your inbox.

Route anywhere
Send data to email, spreadsheets, CRMs, webhooks, and 7,000+ apps.

No credit card required. Set up in under 60 seconds.
Connect & automate
Where can submissions go besides email?
On paid plans, submissions can also go to Slack, Discord, Google Sheets, Notion, Airtable, Zapier or any signed webhook — and splitforms works on the platforms you build on, from WordPress and Shopify to Next.js. With Stripe connected, your forms can take payments too.

Questions
Feedback form questions.
View all FAQsHow do I add a feedback form to my website?
Build the form in the generator on this page, copy the HTML, and replace YOUR_ACCESS_KEY with a free splitforms access key. Paste the code into your page (a Custom HTML block in WordPress, a code or embed block in Webflow, Squarespace or Wix), then submit it once to check the response reaches your inbox.
Is this feedback form generator free?
Yes. Generating and copying the form is free and needs no signup. To receive responses, the form posts to splitforms. The splitforms Free plan covers 500 submissions total (one-time, no credit card, no expiry). Pro is $5/month for 5,000 submissions a month, and Annual is $49/year for 15,000 a month. Email notifications are free on every plan.
Can I use Google Forms instead?
Yes, and for an internal survey it is often the quicker choice: Google Forms is free and puts responses in a Google Sheet. The trade-off on a website is that it is a Google-hosted form, embedded as an iframe that keeps Google's look and doesn't use your site's CSS. Use this generator when you want the feedback form to be part of your own page, styled like the rest of your site, with each response emailed to you.
Can website feedback be anonymous?
Yes. In the starting form, name and email are optional, so visitors can leave both empty. Delete those fields in the builder if you never want contact details. The form still can't stop someone typing identifying details into the open questions.
How does the feedback form stop spam?
The generated code includes a hidden botcheck honeypot field that people never see. When a bot fills it, splitforms drops the submission. splitforms also runs smart spam filtering, a set of server-side rules, on every submission, with no CAPTCHA for visitors.
Can I send website feedback to Slack or a spreadsheet?
Yes, on a paid plan. Pro and Annual add webhooks and integrations such as Slack and Google Sheets, so each response can post to a channel or add a row. On Free, every response is emailed to you and kept in your splitforms dashboard.
Simple pricing
How much does splitforms cost?
Free gives you 500 submissions for $0 — no card, no time limit. Pro is $5/month for 5,000 submissions a month, and Annual is $49/year for 15,000 a month with every Pro feature.
Free
For side projects and indie devs.
- 500 free submissions
- Unlimited forms
- Email notifications included
- Smart spam filtering
- Submissions dashboard
- Redirect after submit
- MCP server included
Pro
Every paid feature, for agencies and growing products.
- 5,000 submissions / mo
- Unlimited forms
- Webhooks and integrations
- CC/BCC, auto-replies and routing
- File uploads with 500 MB storage
- Stripe payments on your forms
- 3 team seats
- Cancel anytime
Annual
Every Pro feature with triple the volume — $0.27 per 1,000 at full use.
- 15,000 submissions / mo
- Unlimited forms
- Everything in Pro
- File uploads with 5 GB storage
- 3 team seats
- Priority email support
No credit card required on Free • Cancel anytime • Full pricing and FAQ