πŸ”Œ
Drupal

Webform for Drupal

The de facto form builder for Drupal: everything from a contact form to a multi-step application with conditional logic and handlers. When you need it, and when core is enough.

Free
CMS: Drupal 10+ PHP: 8.1+ Version: 6.2 Updated: 2026-05-15

Webform is the form builder most Drupal sites end up using, and for good reason: it does everything from a contact form to a multi-step application with conditional logic, file uploads, and dozens of handlers. It is free, GPL, and maintained by Jacob Rockowitz, who has kept it the de facto standard for years.

The honest question is whether you need it. For a single contact form, Drupal core’s own Contact module is often enough, and adding Webform is reaching for a Swiss Army knife to open one envelope. Webform earns its place the moment you need conditional fields, multiple submission handlers, saved drafts, or a form that feeds another system.

What it does well

The element library is the strongest part. You build forms from a long list of field types with drag-and-drop, set conditional logic without code, and attach handlers that email submissions, post them to a remote API, or write them to other entities. For anything past a basic form, that flexibility is hard to match without custom development.

Where it bites

Two things catch teams out. First, a busy Webform with lots of submissions stored in the database needs a cleanup and archiving plan, or the submissions table grows without limit. Second, spam: an open Webform will get hit, so honeypot or CAPTCHA protection is not optional, it is setup. Neither is a flaw, but both are configuration you have to do on purpose.

Our take

We install and configure Webform on most Drupal sites we build, because the alternative is rebuilding half of it by hand. What we charge for is the setup that actually matters: spam protection, GDPR-compliant data handling, the right handlers, and a retention plan for submissions. The module is free; doing it properly is the part worth paying for.

Key features

🧩

A deep element library

Dozens of field types built with drag-and-drop, from simple text to file uploads, ratings, signatures, and address fields, with no code to add a new field.

πŸ”€

Conditional logic without code

Show, hide, or require fields based on earlier answers. Build multi-step wizards and branching forms from the admin UI instead of custom modules.

πŸ“¨

Submission handlers

Email a submission, post it to a remote API, or write it to other Drupal entities. One form can trigger several actions when it is submitted.

πŸ’Ύ

Drafts and submission management

Users save and resume long forms, and admins view, filter, and export every submission. Useful for applications and surveys, not just contact forms.

An honest look at this plugin

We use this in real client projects β€” here's what we've learned.

βœ“ Strengths

  • +
    Free, and genuinely full-featured β€” Matches paid enterprise form builders on capability at no license cost. For complex forms, it saves real custom-development hours.
  • +
    Maintained and trusted β€” A long-standing, actively maintained project that is the default choice across the Drupal community, so it is well documented and well supported.
  • +
    Integrates with everything Drupal β€” Submissions are Drupal data, so permissions, multilingual, and other modules apply to forms the same way they apply to content.

βˆ’ Weaknesses

  • βˆ’
    Overkill for a single contact form β€” If all you need is one contact form, Drupal core's Contact module is lighter. Webform is worth it once you need logic, handlers, or drafts.
  • βˆ’
    Submissions table grows β€” A high-traffic form stores every submission in the database. Without a retention and archiving plan, that table grows without limit.
  • βˆ’
    Spam protection is setup, not default β€” An open form will attract spam. Honeypot or CAPTCHA is something you configure on purpose, not a switch that is on by default.

Our verdict

The right tool past a basic contact form. Webform is the form builder we install on most Drupal sites because rebuilding its capability by hand makes no sense. For a single contact form, core’s Contact module is lighter and we will recommend it. The moment you need conditional logic, multiple handlers, or saved drafts, Webform is the standard, and the work worth paying for is configuring spam protection, data handling, and a submission retention plan correctly.

Best for:

  • βœ“ Multi-step applications, surveys, and registrations
  • βœ“ Forms with conditional logic or several actions on submit
  • βœ“ Sites that need to export or process submissions
  • βœ“ Teams that want a form builder without custom code

FAQ

Is the Webform module free?

Yes. It is open source under the GPL with no license fee. You pay only for hosting and for the work to configure it properly: spam protection, data handling, and the handlers your forms need.

Do I need Webform, or is Drupal core enough?

For a single contact form, Drupal core’s Contact module is often enough. Webform is worth installing once you need conditional fields, multi-step forms, saved drafts, file uploads, or a form that feeds another system. We will tell you which side of that line you are on.

Which Drupal versions does it support?

The current releases target Drupal 10 and 11 and need PHP 8.1 or newer. If you are still on Drupal 7, the path is a migration first, which is a separate piece of work we handle.

Can Webform send submissions to our CRM or another system?

Yes. Its handler system can post submissions to a remote API or email them, and with a bit of configuration it integrates with most CRMs. We scope that integration as part of the setup rather than leaving you to wire it up.

How do you stop spam on a Webform?

With honeypot and CAPTCHA protection configured at setup, plus rate limiting where it makes sense. An open form will get spammed, so this is part of doing the job, not an optional extra.

What does it cost to have you set it up?

Installation and basic configuration start around $40. A complex form with conditional logic, integrations, and a retention plan is scoped per project. The module is free; the configuration is where the value is.

Need help with this plugin?

We can install, configure, or customize it for you.

Installation help Order installation β€” $40

Don't want to install yourself? Our developer connects via FTP, installs, configures, tests with a real transaction. Usually takes one business day.

Contact Form Demo