Magento 2 Custom Form Builder

View Demo

Build contact forms, product enquiries, applications and surveys in a drag-and-drop editor, without coding. Route each submission to the right team, send the customer a copy, and keep every answer in the Magento admin with statuses, notes and CSV export.

  • Visual drag & drop editor
  • Conditional fields
  • One-page and multi-page forms
  • Emails routed by answer
  • Help Desk MX tickets from answers
  • Spam protection with reCAPTCHA
Hyvä
Magento Cloud
Mage-OS
Compatible with:
Community:
2.3.* - 2.4.9
Enterprise:
2.3.* - 2.4.9

What does Magento 2 Form Builder do?

Magento 2 Form Builder lets you build contact forms, product enquiries, price match requests, applications and surveys in a drag-and-drop editor and place them on any page with a widget. Forms can span several pages, show or hide fields based on earlier answers, accept file uploads and pre-fill details for logged-in customers.

Every submission is saved in the Magento admin with a status and internal notes. Notifications go to the right team, the customer gets a copy, and with Help Desk MX installed an answer can open a support ticket. Hyvä support is built into the extension, so there is no separate package to install.

What you can build with it

  • Product enquiry and price match forms. Put a form on the product page, and it fills in the product name, SKU or price for you, so every request arrives with the product attached.
  • A contact form that reaches the right department. Add a "Reason" dropdown and send Sales, Returns or Support requests to different email addresses, with a copy to the customer.
  • Support requests that become tickets. With Help Desk MX installed, each answer can open a ticket from the customer's email address.
  • Applications and claims with attachments. Customers upload PDFs or photos, and the files arrive as attachments in the notification email.
  • Multi-page surveys. Split long questionnaires into pages and show follow-up questions only to the customers they apply to.

Drag-and-drop form editor

Build an advanced Magento custom contact form in a visual editor without touching a line of code.

Drag elements onto the form, then add, copy or remove fields and set each one's label, placeholder, help text, default value, width and CSS class.

Use open-ended, closed-ended or multiple-choice questions to match your survey format.

magento 2 form builder

Form elements

Supported Magento form elements include:

  • Row/column
  • H1-H6 headings
  • Paragraph
  • Text area
  • Text input
  • Number input
  • Dropdown
  • File attachment
  • Checkboxes
  • Radio list
  • List box
  • Multiselect list
  • Products autocomplete

Text inputs also come as email, phone, URL, date, time and hidden fields, so the browser shows the right keyboard and checks the format.

Multi-column forms

Place fields next to each other in rows and columns. The less users have to scroll, the more likely they are to finish the form.

Multi-page forms

Break a long form into pages with Next and Prev buttons, and rename the buttons to fit your wording. Shorter pages make long surveys easier to finish.

Conditional fields

Show or hide a field depending on the answer to another field. For example, show a file upload only when the customer picks "Return request", or ask a follow-up question only after a "Yes".

Conditions work on single and multiple selections, so each customer sees only the questions that apply to them.

Pre-filled fields

Fill in fields automatically for logged-in customers: name, email, phone and billing address come from their account.

On a product page, a field can take the product's name, SKU, price or any other attribute, and a hidden field can store the URL of the page the form was sent from.

File uploads

Customers can attach files like PDFs or images. You choose the allowed file types for each upload field, and uploaded files are attached to the admin notification email.

Form embedding using widgets

Insert a form on any CMS page, block or layout with a standard Magento widget. Pick the form from a list and add your own CSS class to style it.

Customer groups and store views

Show a form only to chosen customer groups or in chosen store views, for example a wholesale application only for B2B customers.

Custom success messages

Set the message customers see after they submit a form, or redirect them to any page, such as a product page or your FAQ.

Fully responsive design

Forms work well on both desktop and mobile, and on Luma and Hyvä themes alike.

Hyvä support built in

Hyvä support ships inside the extension, so there is no companion package to install or keep in sync. On a Luma store, the Hyvä part simply stays inactive.

Additional Features of Magento 2 Form Builder

Email notifications that reach the right person

Send each submission to one or several admin addresses, and route it to a different address depending on an answer. You choose the sender identity and email template for every form.

A copy for the customer

Pick the email field in your form, and the customer receives a copy of their answers using a template you choose.

Submissions in the admin panel

All answers are stored in the Magento admin. Track each one with statuses you define, add internal notes for your team, print an answer, or export a form's answers to CSV.

"My Submissions" in the customer account

Logged-in customers can view, edit and print the forms they have sent from their account.

Frontend preview

See how your form will look on the storefront before publishing it, make changes, then publish the final version.

Form validation

Make any field required and check email and number formats. When customers skip a required field or use the wrong format, the field is highlighted so they can see what to fix.

Spam protection

The extension includes built-in Google reCAPTCHA to protect your forms from spam bots.

Conversion tracking

Each successful submission pushes an event to the data layer, so you can count form leads in Google Tag Manager and GA4.

Translated interface

Forms and the admin interface are translated into 15 languages, including German, French, Spanish, Italian, Dutch, Polish and Japanese.

Add contact forms, enquiries and surveys to your store without writing code. Install the Magento 2 Custom Form Builder.
No hidden fees
Our developers install the extension on your store and configure it for your setup, free of charge.
Lifetime access to source code
Access to free support and updates for 1 year
Updates and support prolongation - $150

Pay today $249 for the first year.

Then $150 for updates and support services per year.

Cancel anytime.

30 days money back guarantee
See it in action!
Pick a quick tutorial to learn about various aspects of this extension
Customer Reviews 6
Earn points for your review about this extension modules. $1 = 10 points
Write Your Own Review

check-circle You submitted your review for moderation.

Dodell Verified Buyer
From Rickmansworth, United Kingdom
Using the module for 6 months
Very useful
I've used this on a few sites now. Very easy to setup and does a great job.
Also installed:
Advanced Reports,  Layered Navigation,  Product Labels
ahmed Verified Buyer
From Cairo, Egypt
Using the module for 11 days
simple
Very simple and easy to use
Also installed:
Improved Sorting,  Automatic Related Products,  Advanced SEO Suite,  Mass Product Actions,  RMA,  Follow Up Email,  Affiliate and 10 more
Tony Verified Buyer
From Monforte del Cid, Spain
Muy buen modulo
Es de las mejores extensiones que hay en el mercado, la interfaz es muy fácil de usar e intuitiva creo que es el modulo de formulario mas rentable del mercado
Also installed:
Help Desk MX,  Google PageSpeed Optimizer
Jerry Verified Buyer
From Walnut, United States
Using the module for 6 months
Good extension that is very powerful and useful
This is a great extension that allows for creation of all types of forms. It's quite powerful once you learn how it works. Highly recommend if you need to extend on the default contact form in Magento.
Also installed:
Advanced Reports,  Event Watcher & Notification,  Full Page Cache Warmer,  Automatic Related Products,  Health & Performance Monitoring Suite,  Follow Up Email,  Advanced Product Feeds and 17 more
Martin
From Ho Chi Minh City, Vietnam
Easy to install and use, but requires additional functionality
We have used a few Mirasvit extensions. I have added this module to our website. The module is easy to use, but needs additional features such as duplicate, multi pages ...
Also installed:
Elastic Search Ultimate,  Reward Points,  Follow Up Email,  Customer Segmentation Suite,  Mass Product Actions,  Store Credit & Refund,  Product Kits and 16 more
Manual & Support
Need more help?

Save time by starting your support request online and we'll connect you to an expert.

Frequently asked questions
chevron-down chevron-right

How do I protect my forms from spam bot submissions?

Public forms, such as a custom contact form, are a common target for spam bots. The usual protection is a CAPTCHA.

Custom Form Builder supports Google reCAPTCHA, which Magento 2 supports out of the box. Turn it on in Stores > Configuration > Mirasvit Extensions > Form Builder > Security, and your forms are checked before a submission is accepted.

chevron-down chevron-right

Can a form created with Custom Form Builder create tickets in Help Desk MX?

Yes. Custom Form Builder works with Help Desk MX. Turn on Convert Answer to Ticket in the form settings, and every new answer opens a support ticket with the form name as its subject.

The ticket is created from the customer's email address, taken from the field you set as the Customer Email Field, so your team replies to the customer straight from the help desk.

chevron-down chevron-right

Can a custom form builder populate customer attributes?

Yes. Fields can be pre-filled with variables: the logged-in customer's name, email, phone and billing address, the attributes of the product on whose page the form is shown, and the URL of the current page.

chevron-down chevron-right

How is a form created with Magento 2 custom forms embedded into the Magento frontend?

Forms are displayed with Magento widgets. To show a form, insert a widget on the page where the form should appear, choose the "Form Builder: Form" widget type and select your form from the list. See an example of form embedding in the Custom Form for Magento 2 user manual.

chevron-down chevron-right

Who can view the data on the submitted forms?

Both your staff and your customers. Store admins see all submitted forms in the backend. Logged-in customers see their own submissions under "My Submissions" in their account, where they can view, edit and print them.

chevron-down chevron-right

Where is the data from forms created with Form Builder stored, and is it accessible from the Magento backend admin panel?

The data is stored in your own Magento database, in tables created by the extension, so you can also query it with any database tool.

In the Magento admin, go to Content > Form Builder > Answers to view, edit and print answers, or export a form's answers to CSV.

Find more about the Custom Form for Magento 2 in its user manual.

chevron-down chevron-right

Does the Magento form creator allow for grouping fields and using conditional logic to hide/show the field grouping?

Conditional logic works per field, not per group or page. Each field, heading or paragraph can have a visibility dependency: it stays hidden until another field has the value you set.

This covers most dynamic forms, such as asking a follow-up question after "Yes" or showing an upload field for one request type. The extension doesn't jump between pages based on an answer, and rows or columns can't be hidden as a whole.

chevron-down chevron-right

Is there a free version of Custom Form Builder?

No. Custom Form Builder is a paid extension, and you can try it first in the frontend, backend and Hyvä demos on this page. Magento's built-in contact form is free, but it has fixed fields, a single recipient and no file uploads, conditional fields or saved submissions in the admin.

chevron-down chevron-right

Can a contact form send emails to different departments?

Yes. Add a field such as a "Reason" dropdown and set notification conditions: when the field has a given value, the email goes to the address you choose. For example, returns go to returns@ and wholesale requests go to sales@. The customer can also receive a copy of their message.

Changelog
Version 2.1.0Oct 5, 2026
Hyvä support now ships with the extension — The companion package mirasvit/module-form-builder-hyva is gone: storefront forms and the customer account's "My Submissions" pages are now part of Form Builder itself. There is no second package to find and keep in step, and on a Luma store the Hyvä part simply stays dormant. Composer removes the companion package by itself when you upgrade.
⚠️ Hyva_MirasvitFormBuilder is gone, not renamed — You only need to act if you referenced it yourself: in a custom di.xml, a layout file, or a deployment script that enables modules by name.
⚠️ If you overrode a Hyvä template in your theme, repoint it — Hyva_MirasvitFormBuilder::<path>.phtml is now Mirasvit_FormBuilder::<path>.phtml. An override at the old path is simply not read, with no error to say so.
⚠️ Forms run on one script on both themes — Validation, multi-page navigation, conditional fields, autocomplete and submission no longer use jQuery widgets on Luma or Alpine.js on Hyvä. If your theme extended Mirasvit_FormBuilder/js/form or js/controller/*, those files are gone. Conditions on a multi-select field still take every selected option into account, and a form added to the page later, for example inside a popup or a block loaded by AJAX, is still picked up.
On Hyvä, invalid fields now show the same message under the field as on Luma, instead of the browser's pop-up bubble. Text that is not a number in a number field gets "Please enter a valid number in this field."
The Statuses grid in the admin now remembers your filters, columns and saved views between visits.
On Hyvä, "My Submissions" shows View and Print as text links, as on Luma, instead of bare eye and printer icons.
After upgrading a Hyvä store, run bin/magento hyva:config:generate and rebuild your theme's Tailwind CSS.
Hyvä: a form with a conditional required field could not be sent — A required field that a condition keeps hidden still blocked the submit, silently; the sample Contact Us form ("Other reason") was affected. Luma was unaffected.
Hyvä: forms with invisible reCAPTCHA v2 were always rejected — The challenge never ran, so every submission came back "reCAPTCHA verification failed". Two such forms on one page now each get their own check. Luma was unaffected.
Hyvä: a browser-autofilled form sent right away could fail the reCAPTCHA check — Hyvä loads Google's reCAPTCHA script only on the first input, so the check ran before the script was there. The form now waits for it, and shows "reCAPTCHA could not be loaded. Please refresh the page and try again." if it never arrives.
Visitors saw technical error text when a form could not be submitted — An unexpected error during submission was shown on the storefront as the raw system message. Visitors now see "Your form could not be submitted. Please try again later.", and the details go to the store's log. reCAPTCHA failure messages are shown as before.
Required fields showed two or three asterisks — Labels carried a typed " *" next to the theme's own mark (and a third, orange one on Hyvä). Each required field now shows one, choice-group titles included.
Hyvä: the file upload field did not look like something you could click — It showed bare "Choose file No file chosen" text. It is now drawn as a button, with a red border when the field is invalid, and the chosen file name appears under it and wraps instead of being cut to "b...".
A long answer turned the customer's submission page into a sideways scroller on phones — Long words now wrap inside the table. On Hyvä the answers were also shown in green; they now use the normal text colour.
Forms overflowed the screen on mobile — Long horizontal choice lists and file upload fields widened the page on narrow screens; the options now wrap instead of pushing the form off-screen, and file fields stay inside the form.
Submitting a form whose saved layout has an element without an ID no longer writes a deprecation warning to the log on PHP 8.5.
Version 2.0.13Sep 28, 2026
Internal code improvements and maintenance.
Version 2.0.12Sep 25, 2026
⚠️ Form settings and submitted answers are now stored and read as standard JSON, without relying on the Mirasvit Core serializer. During setup:upgrade, a one-time data patch converts any old PHP-serialized values in mst_form_builder_form (elements_json, field_map, notification_condition) and mst_form_builder_answer (answers_json) to JSON. It works in batches, so large answer tables do not run out of memory
A form whose stored fields, field mapping or notification conditions are empty or damaged now loads with those settings empty instead of failing
Fixed the Answers column on the Forms grid staying empty with a "Failed to load the answers-column template" error, and the answer quick view on the Answers grid (opened from the ID column) not appearing
Saving an answer in the admin with damaged answer data now shows an error message instead of an exception page
Fixed an error when previewing a form from the form builder if the submitted form data was missing its name, code or fields
Version 2.0.11Sep 18, 2026
Forms no longer fail to submit on stores that don't have Magento's reCAPTCHA modules installed.
Form notification emails no longer fail to send on Magento source installs.
Closed a security gap that let a form answer be saved, and its notification emails sent, through a link on another website.
Version 2.0.10Sep 10, 2026
Corrected the "Form Builder" spelling in the admin page titles.
Reasons to choose Mirasvit
Client focusing and satisfaction

These are our primary. A major portion of our new clients come from referrals from our existing clients. Our professional team of developers, marketers and support staff have invested the best knowledge and experience in the field into our work, so you know you can come back to us again and again.

Remarkable support

One year free and high quality support. We go to great lengths to provide maximum satisfaction with every module you have purchased in our store. By helping you with installation, configuration, answering your every question, we do all our best to eliminate any possible problems.

Risk-free Investment

30-days money back guarantee. If you are not satisfied with our extension performance for any reason, we provide a full refund.

Constant improvements and upgrades

We constantly add new features to all our modules, and are always interested in hearing your opinion and implementing your suggested features in our future developments.

Comprehensive Documentation

We provide an expanded user guide for every aspect of our extension, so you can find answers for all your burning questions.

Unencrypted source code of our products

You can customize extension according to your needs and requirements.

Usability and Performance

The Module is easy to install and upgrade, just follow our step-by-step user guide. Additionally, the extension is ready to use with the Hyvä theme.

Ready for Magento Cloud

No core modifications. The extension has been tested in a Magento Cloud environment and is fully compatible with it.

Loading...