The most user-friendly forms plugin for Craft. Build sophisticated multi-page forms with more than 30 field types, email notifications, integrations and ready-to-go front-end templates — without giving up control when the project needs it.
Create forms with an intuitive drag-and-drop builder. Fields sit in rows and columns for flexible layouts, so the form takes shape in the same place its settings are managed.
Stencils provide a ready-made starting point with fields, settings and notifications already in place, while form templates let teams reuse proven structures across the project.

Turn the same builder into a quick contact form or a complete multi-step workflow. Give each page a clear purpose, control how visitors move between steps and apply conditions when a page only belongs in one path through the form.

Build straightforward contact forms and involved application flows from the same field library. Each field carries the defaults, validation, appearance and instructions its job requires, while more structured answers do not have to be forced into one flat response.

Show or hide pages, fields and buttons in response to earlier answers, allowing one form to serve several useful paths without presenting every question to every visitor.
Match fields can enforce confirmation values when an answer needs to be entered consistently.
Reuse one field across several forms and keep later configuration changes in sync. Editors can recognise the shared field in the builder, while projects avoid maintaining several almost-identical versions of the same question.

Build the messages a form needs with friendly variable pickers instead of asking content editors to write Twig. Recipients, subjects, templates and delivery rules remain configurable per notification, and the exact emails Formie sent remain available from the control panel.

Send or suppress a notification according to submitted values and form logic. Combine several field rules to keep confirmations, internal alerts and follow-ups relevant to the path a visitor actually took.

Preview the rendered email with realistic submission values, then send a real test before relying on it. The result is easier to check than a template full of variables and helps catch content or recipient mistakes before a form goes live.

Store submissions as first-class Craft elements with searchable values, statuses and export support. Review an individual response, update its status, resend notifications or perform bulk actions without leaving the control panel.
Choose whether a successful form shows a message, redirects to a URL or Craft element, or stays on the current page. Forms can submit with a normal page request or asynchronously, and incomplete submissions can be saved so visitors can return later.
Give each form a deliberate policy for sensitive data, stored submissions and unwanted traffic instead of relying on one project-wide assumption. Protection and retention controls can be combined to suit the risk and purpose of the form.
Add a payment field and connect a supported gateway to collect payment as part of the form journey. Payment integrations can create one-off charges or provider-supported subscriptions while keeping the surrounding fields, conditions and confirmation experience in Formie.
Payment events, webhook handling and provider APIs give developers the extension points needed for project-specific transaction workflows.

Start with a complete front-end form, then take control at the level the project requires. Formie can supply the working experience or hand individual tags, attributes and components to project-owned templates and theme configuration.

Map submitted values into another service’s expected structure and decide with conditions when that connection should run. Bundled and project-specific integrations share the same configuration and processing workflow instead of becoming separate form systems bolted onto the project.

Query complete form definitions through GraphQL, including pages, rows, fields and settings, then create submissions with mutations from a custom front end. Submissions can also be queried when the application needs to present or process them outside Craft’s rendered templates.
Developers can choose generated HTML for a quicker implementation or use the structured form data to build a completely custom experience.
Export complete forms as JSON and import them into another environment with their pages, fields, settings and notifications intact. Feed Me (opens new window) support covers submission imports, while migration assistants help established Freeform (opens new window) and Sprout Forms (opens new window) projects move into Formie without rebuilding every form manually.
Available for Craft 3, 4 and 5. Get it from the plugin store.