Free HTML form builder

Drag fields onto your form, edit their labels, and copy clean HTML that sends every submission to your email through FormDoc. It’s free, needs no account, and your form stays in your browser while you build it.

  • Free
  • No account
  • Runs in your browser
  • Updated

Build your form

Your form

    Drag fields to reorder them, or use the arrow buttons.

    Preview and code

    How to use the form builder

    1. Drag fields from the list onto your form, or tap a field to add it at the end.
    2. Select a field to change its label, its name and whether it’s required. Dropdowns and choices take one option per line.
    3. Set the button text and the subject of the email you’ll receive.
    4. Paste your FormDoc access key, or get one free at app.formdoc.dev in a minute.
    5. Copy the code, or download it as a ready HTML file, and paste the form into your page.

    Every field’s name becomes its label in the email you receive, so “phone” arrives as “phone: 98…”. Names stay short and unique; the builder fixes them for you if two fields would clash.

    Which field should you use?

    Picking the right field type gives visitors the right keyboard on phones and catches typing mistakes before the form is sent.

    Field Use it for What it does for visitors
    Short text Names, company, city A single line
    Email Email addresses Email keyboard on phones; checks the address has an @
    Phone Phone numbers Number pad on phones
    Number Quantities, budgets Number keyboard; can’t type letters
    Date Bookings, event dates A date picker
    Website A link to their site URL keyboard; checks it looks like an address
    Long text Messages, questions A larger box that grows with the text
    Dropdown One choice from a long list Saves space when there are many options
    Choice One choice from 2 to 5 options All options visible at once
    Checkbox Consent, “yes” questions A single tick box

    Tips for a form people finish

    • Ask only what you need to reply. Every extra field is one more reason to stop. Name, email and a message is enough for most contact forms.
    • Mark only truly required fields as required. Optional fields stay optional, so visitors can skip them.
    • Write labels as people speak. “What can we help with?” is clearer than “Enquiry type”.
    • Prefer choices to typing. Two to five options work best as a choice; longer lists as a dropdown.
    • Keep the button specific. “Send message” or “Get a quote” beats a plain “Submit”.

    Spam is handled for you: FormDoc adds a hidden honeypot, scores every submission and limits floods, so you don’t need a puzzle on the form. Read how FormDoc stops form spam, or the guide to sending an HTML form to email without PHP.

    What the code includes

    Part Why it’s there
    action and method="POST" Sends the form to FormDoc, which emails it to you
    Hidden access_key Tells FormDoc which form this is. It’s public and safe in your HTML
    Hidden subject The subject line of your notification email
    Labels for every field Screen readers and voice control can find each field
    Hidden botcheck checkbox A spam trap that real visitors never see
    Optional formdoc.js script Shows “Thanks” inside the form instead of opening a new page

    The form works without JavaScript, on any website: plain HTML, WordPress, Webflow, a static site generator or a site built with AI. For framework examples, see the setup guides, or start from a ready form template.

    Common questions

    Is the form builder really free?

    Yes. The builder is free with no account. The forms it makes send through FormDoc, whose Free plan includes 250 submissions a month with spam protection and email notifications.

    Where is my form saved?

    Only in your own browser, so you can come back and keep editing. Nothing you build is sent to FormDoc until you put the form on your site and someone submits it.

    Can I style the form to match my site?

    Yes. The code is plain HTML with no styles of its own, so it takes your site’s fonts and colours. Add your own classes or CSS as you like; keep each field’s name and the hidden fields as they are.

    Does it work on my website builder?

    If your builder lets you add custom HTML, it works. See the platform guides for WordPress, Webflow, Wix, Squarespace, Framer and more.