Customer Feedback Form Generator With a Question Bank

Tick the questions you want from the bank, such as overall satisfaction on a 1 to 5 scale, how likely someone is to recommend you from 0 to 10, and open questions about what went well. The tool writes a form with proper labels and grouped rating buttons that you can paste into any site.

Question types in the bank
TypeMeasuresField used
Satisfaction, 1 to 5How happy the customer was with this visit or orderRadio group in a fieldset
Recommend, 0 to 10How likely they are to suggest you to a friendRadio group in a fieldset
Ease, 1 to 5How easy it was to buy, book or get helpRadio group in a fieldset
Open questionsThe reasons behind the scoresTextarea with a label
Follow-up permissionWhether you may replyCheckbox plus optional email

Updated

Short forms get answered. Pick two or three rating questions and one open question, and you will learn more than from a twenty-question survey nobody finishes. Every field the tool writes has a visible label, and every rating scale is a grouped set of radio buttons with a legend, so keyboard and screen reader users can answer too.

Build your feedback form

Business name: Corner Street Bakery

Question bank:

Rating questions must be answered

Form HTML

<style>
  .feedback { max-width: 560px; font: 16px/1.5 system-ui, sans-serif; }
  .feedback fieldset { border: 1px solid #d4d4d4; border-radius: 10px; margin: 0 0 16px; padding: 12px 14px; }
  .feedback legend { font-weight: 600; padding: 0 4px; }
  .feedback .ends { margin: 0 0 6px; font-size: 14px; color: #555; }
  .feedback .scale { display: flex; flex-wrap: wrap; gap: 6px 14px; }
  .feedback textarea, .feedback input[type=email] { width: 100%; box-sizing: border-box; padding: 8px; font: inherit; }
  .feedback :focus-visible { outline: 3px solid #1d4ed8; outline-offset: 2px; }
</style>
<form class="feedback" action="https://example.com/your-form-handler" method="post">
  <h2>Tell us about your visit to Corner Street Bakery</h2>
  <fieldset>
    <legend>Overall, how satisfied were you?</legend>
    <p class="ends">1 = Very unsatisfied, 5 = Very satisfied</p>
    <div class="scale">
      <label for="satisfaction-1"><input type="radio" id="satisfaction-1" name="satisfaction" value="1" required> 1</label>
      <label for="satisfaction-2"><input type="radio" id="satisfaction-2" name="satisfaction" value="2"> 2</label>
      <label for="satisfaction-3"><input type="radio" id="satisfaction-3" name="satisfaction" value="3"> 3</label>
      <label for="satisfaction-4"><input type="radio" id="satisfaction-4" name="satisfaction" value="4"> 4</label>
      <label for="satisfaction-5"><input type="radio" id="satisfaction-5" name="satisfaction" value="5"> 5</label>
    </div>
  </fieldset>
  <fieldset>
    <legend>How easy was it to get what you needed?</legend>
    <p class="ends">1 = Very difficult, 5 = Very easy</p>
    <div class="scale">
      <label for="ease-1"><input type="radio" id="ease-1" name="ease" value="1" required> 1</label>
      <label for="ease-2"><input type="radio" id="ease-2" name="ease" value="2"> 2</label>
      <label for="ease-3"><input type="radio" id="ease-3" name="ease" value="3"> 3</label>
      <label for="ease-4"><input type="radio" id="ease-4" name="ease" value="4"> 4</label>
      <label for="ease-5"><input type="radio" id="ease-5" name="ease" value="5"> 5</label>
    </div>
  </fieldset>
  <p><label for="improve">What could we do better?</label><br><textarea id="improve" name="improve" rows="4"></textarea></p>
  <button type="submit">Send feedback</button>
</form>

The one-question version

For a receipt email or a thank-you page, one rating with a single follow-up box is often enough.

Single rating plus comment

A fieldset and legend give the rating its question; the textarea has its own label.

<form action="https://example.com/your-form-handler" method="post" style="font:15px system-ui">
  <fieldset>
    <legend>How was your order today?</legend>
    <label><input type="radio" name="rating" value="1" required> Poor</label>
    <label><input type="radio" name="rating" value="2"> Okay</label>
    <label><input type="radio" name="rating" value="3"> Great</label>
  </fieldset>
  <p><label for="why">Anything to add?</label><br>
  <textarea id="why" name="why" rows="2"></textarea></p>
  <button type="submit">Send</button>
</form>

Turning answers into changes

Group the open answers by theme each month: delivery, price, staff, website. The theme with the most low scores is your next fix.

Tell customers what you changed. A short note such as 'You asked for earlier opening, so we now open at 7' makes people more willing to answer next time.

Keeping the form accessible

Every input in the output has a label tied to it with for and id, so tapping the words selects the option. Placeholder text is never used as the only label, because it disappears as soon as someone types.

How it works

  1. Enter your business name and tick the questions you want.
  2. Choose whether the rating questions must be answered.
  3. Check the preview, which shows the form exactly as the code draws it.
  4. Copy the HTML and set the form's action to your form handler or your site builder's form endpoint.
  5. Read the answers weekly and reply to anyone who left an email.

Tips

Frequently asked questions

What questions should a customer satisfaction survey ask?

Start with one overall satisfaction rating, one ease question about the task they just did, and one open question asking what you could do better. Add the 0 to 10 recommend question if you want to track it over time.

Why are the ratings radio buttons and not a slider?

Radio buttons that share a name let a person pick exactly one value, work with the keyboard, and are announced with their labels. Wrapping them in a fieldset with a legend gives the group its question as a caption.

How does required work on a rating question?

MDN notes that if any radio button in a group has required, one button in that group must be selected for the form to be valid. The generator puts it on the first button when you ask for required ratings.

Where do the answers go?

Wherever the form's action points. The code uses a placeholder address; replace it with your form handler. Nothing you type in this tool is sent anywhere.

Can I use this on a store or booking site?

Yes. Paste it into any page that accepts HTML, or rebuild the same questions in your platform's own form editor.

Related: How to add a contact form, FAQ generator, Business contact form template, Google review link generator.

Start for free or see all free tools. We.Inc is free to start, with no card needed. AI building is on paid plans from $20 a month.

More in Free Tools

We.Inc is an AI-powered website builder you can resell under your own brand. Launch a branded client dashboard, bill on Stripe Connect, and deliver AI-generated websites in minutes. White-label plans start at $99 a month for 25 client sites, with a 7-day free trial and no per-site fees.

Product

Who It's For

Features

Resources

Company

View Sitemap