Super Forms – Drag & Drop Form Builder

Super Forms - Drag & Drop Form Builder - 1

Now available: PDF Generator Add-on!

Super Forms - Drag & Drop Form Builder - 2

Free Live Demo:
Click here to try out our plugin!
Available Add-ons:
Check out all official Add-ons for Super Forms!
More information:
Find out more about this plugin on our website!
Getting Started
Read full changelog since Dec 9, 2015 – v1.0.0 :)

Super Forms – Drag & Drop + Column / Grid System

Super Forms - Drag & Drop Form Builder - 3

Super Forms – Conditional Logic

Super Forms - Drag & Drop Form Builder - 4 Super Forms - Drag & Drop Form Builder - 5

Super Forms – Build-in Translation System

Super Forms - Drag & Drop Form Builder - 6

Super Forms – Main Features

Super Forms - Drag & Drop Form Builder - 7

Super Forms – Extra Features

Super Forms - Drag & Drop Form Builder - 8

Super Forms – Add-ons you might like

     Super Forms - Drag & Drop Form Builder - 9           Super Forms - Drag & Drop Form Builder - 10           Super Forms - Drag & Drop Form Builder - 11           Super Forms - Drag & Drop Form Builder - 12           Super Forms - Drag & Drop Form Builder - 13     
     Super Forms - Drag & Drop Form Builder - 14           Super Forms - Drag & Drop Form Builder - 15           Super Forms - Drag & Drop Form Builder - 16           Super Forms - Drag & Drop Form Builder - 17           Super Forms - Drag & Drop Form Builder - 18     

One click install! – Choose any example and start editing instantly!

Super Forms - Drag & Drop Form Builder - 19

Super Forms – Add-ons

Super Forms - Drag & Drop Form Builder - 20


– PHP version 5.4 or higher


Super Forms is the one and only plugin that you will ever need for your contact forms. This WordPress Plugin is very user friendly when it comes to building forms. With unlimited options you will be able to create any kind of forms. With conditional logic, Multipart elements and tons of customizable options and settings to adjust any color of any element to fit your needs. No matter what theme you have installed Super Forms will fit with it’s color scheme functionality.

See below changelog to find out what work has been put into this plugin since it’s initial release  :)


Full Changelog:

## PDF Generator Add-on now available! More info here:

- [PDF Generator Add-on](

## Jan 29, 2021 - Version 4.9.701

- **Fix:** Fix typo

## Jan 28, 2021 - Version 4.9.700

- **Fix:** Typo `from` should be `form`, causing issues with PDF generator when using `Currency` field together with `Calculator` element
- **Improved:** Time picker element now uses WP core `current_time()` function when `Return current time as default value` is enabled to get time with the GMT offset in the WordPress option.
- **Improved:** Contact entry search will also trigger when "copy/pasting" text into the input field on mobile devices
- **Added:** Back-end translations:
- Afrikaans
- Arabic
- Bengali (Bangladesh)
- Czech
- Danish
- Dutch
- French (Canada)
- French (France)
- German
- Gujarati
- Hindi
- Hungarian
- Indonesian
- Italian
- Japanese
- Javanese
- Kannada
- Korean
- Marathi
- Norwegian (Nynorsk)
- Persian
- Polish
- Portuguese (Portugal)
- Punjabi
- Russian
- Spanish (Spain)
- Swahili
- Swedish
- Tamil
- Telugu
- Thai
- Turkish
- Urdu
- Vietnamese
- ?????
- ????
- ????

## Jan 19, 2021 - Version 4.9.600

- **Added:** Option to prevent saving contact entry if a contact entry with the same title already exists, more info here:
- [Prevent/disallow duplicate contact entry titles](
- **Added:** `MailChimp Add-on` option to unsubscribe users by setting `Send the Mailchimp confirmation email` to `No` and setting `Subscriber status after submitting the form` to `Unsubscribed`
- **Improved:** Form loading speed when using many HTML elements that contain many {tags}. Super Forms now remembers tag values and will not re-process these if they haven't changed since. This speeds up the loading speed significantly for forms that are using many HTML elements with many {tags}
- **Fix:** When `Enable form POST method` is enabled in combination with `Enable custom parameter string for POST method` do not store `Thank you message` into a session, otherwise it would be displayed twice when user navigates to a different page.
- **Fix:** When using multiple google address autocomplete elements in a form they would conflict with eachother.

## Jan 14, 2021 - Version 4.9.584

- **Added:** Option to add field {tags} inside the `Default value` setting, which would populate it on page load with the value from that field value. Previously you could only use predefined tags.
- **Added:** `Calculator Add-on` option to directly retrieve [predefined tags]( inside math, e.g: to retrieve current year, month or price of current WooCommerce product etc.
- **Added:** Option to set separate error messages for validation error or empty field `Validation error message`, `Empty error message` more info here:
- [Displaying a separate error message for validation and when a field is empty](
- **Fix:** Bug with `Date` element when setting `Allow user to choose a maximum of X dates` to anything higher than `1` causing it to switch to current month e.g when choosing 2 dates in month `Feb`, it would switch back to month `Jan`
- **Fix:** Issue with dragging elements in Accordion element
- **Fix:** Back-end settings CSS fix

## Jan 12, 2021 - Version 4.9.580

- **Added:** Option to map the so called `Formatted address (full address)` for Google address autocomplete
- **Added:** Option for [Contact entry search]( to return contact entry status, ID and Title by adding fields named `hidden_contact_entry_status`, `hidden_contact_entry_id` or `hidden_contact_entry_title`
- **Added:** `WooCommerce Checkout Add-on` option to update Contact Entry status after WooCommerce order completed
- **Added:** Option for google address autocomplete to return `The place's name`, `Formatted phone number`, `International phone number` and `Website of the business`
- **Improved:** Google address autocomplete now also returns `City` if mapped as `postal_town` and or `sublocality_leve_1` see: [Maps JavaScript API documentation]( documentation/javascript/examples/places-autocomplete-addressform) for more info
- **Improved:** When translating form make sure to only display settings that the main language field uses
- **Improved:** When using google autocomplete the code will now determine what data is being used in your form, and strip out any unnecessary data from the API request which could considerably reduce costs
- **Improved:** Focus/Filled status for currency field
- **Fix:** JavaScript error on currency field when `Number format` contained space(s)
- **Fix:** Builder UI scrolling bug in Firefox browser causing a continues scroll
- **Fix:** When selecting default items for `Dropdown` element it would still display the placeholder instead of the actual selected item
- **Fix:** US States element contained some incorrectly sorted items by alphabet
- **Fix:** Issue with SMTP on older PHP versions due to WordPress moving the class to a different location

## Dec 22, 2020 - Version 4.9.570

- **Added:** Option for [Address auto complete (google places)]( to specify the types of results to return e.g:
- `geocode`: return only geocoding results, rather than business results. Generally, you use this request to disambiguate results where the location specified may be indeterminate.
- `address`: return only geocoding results with a precise address. Generally, you use this request when you know the user will be looking for a fully specified address.
- `establishment`: return only business results.
- `(regions)`: return any result matching the following types: locality, sublocality, postal_code, country, administrative_area_level_1, administrative_area_level_2
- `(cities)`: type collection instructs the Places service to return results that match locality or administrative_area_level_3
- **Added:** Option for [Address auto complete (google places)]( to restrict results by countrie(s) e.g: fr,nl,de (to restrict results by France, Netherlands and Germany)
- **Improved:** `Keyword field` style improvements
- **Improved:** [Auto suggest]( style improvements
- **Improved:** Allow setting `The types of place results to return` to be empty for `Address auto complete` feature, so that all types can be returned when left blank
- **Improved:** Clean up generated PDF datauri, no need to store it in contact entry data in database, it could also cause the database to throw error due to reaching maximum Text/Blob size
- **Fix:** When filtering [Auto suggest]( make sure to preserve any spaces in the search results
- **Fix:** Firefox adaptive placeholders focus automatically getting unfocussed
- **Fix:** When using `Currency` field with a `Default value` make sure the masked is applied upon page load
- **Fix:** When using connected datepickers in combination with a custom `Localization` e.g `Czech` and a min/max connected date, the connection would not function due to difference in date formats
- **Fix:** Multi-part thinking there was still a field that required validation when in fact the field had become conditionally hidden while after the field had thrown a validation error. This caused the form being unable to submit.

## Dec 08, 2020 - Version 4.9.556

- **Fix:** When using double quotes in radio/checkbox/dropdown Labels (when using custom HTML for instance) make sure any backslashes are not saved
- **Fix:** Calculator Add-on conditional logic wasn't working due to new CSS rule `display:fex!important;`

## Dec 02, 2020 - Version 4.9.555

- **Added:** `Default value` setting for `Timepicker` element, this way you can set a default time upon page load
- **Improved:** PDF Generation will now be identical between mobile and desktop, no longer applies bigger font size, and or responsiveness
- **Improved:** `{tag}` regular expression, so that values in a HTML element like `{something like this / and this}` are not being detected as valid `{tags}`
- **Fix:** JS error when using signature element in combination with any top level conditional logic
- **Fix:** WordPress moved PHPMailer class into different location from v5.5 and above. Causing issues for those that had SMTP enabled in super forms.

## Nov 16, 2020 - Version 4.9.550

- **Added:** [Secrets]( to safely store sensitive data on server side, but still be able to retrieve it conditionally and use it in the form settings
- **Fix:** When using Accordion or TAB element and using columns inside the column was not correctly closed in some scenario's
- **Fix:** When using a `Global secret` inside a Hidden fields default value, it would be converted to the underlaying value upon page load
- **Fix:** Problem with datepicker connected to a datepicker that allows a user to choose multiple dates automatically clearing the field value upon selecting dates
- **Fix:** Issue when adaptive placeholders are being used, but are empty, would cause it to be prefixed with numbers "1" or "2"
- **Fix:** JS error when not using adaptive placeholders

## Oct 22, 2020 - Version 4.9.530

- **New:** PDF Generator will now generate text to make PDF searchable
- **Improved:** Use the build in WordPress PHP Mailer library instead of included one, and removed the library from plugin source code
- **Fix:** Form not loading when using multiple forms on a single page
- **Fix:** Internet Explorer javascript error (added polyfill for promises)
- **Fix:** FireFox 17 issue with adaptive placeholders causing to overlapping placeholder with text from the browsers remembered values (fields history)
- **Fix:** Some PHP Notices/Warnings
- **Fix:** {tags} for PDF filename not working
- **Fix:** When using a field to search previous contact entry a JavaScript error is thrown causing the form to not load.
- **Changed:** Default font family is now set to `"Helvetica", "Arial", sans-serif`

## Sep 22, 2020 - Version 4.9.520

- **Added:** When going to next multi-part super forms will remember the last step the user was on so when the user refreshes the page the last step will be opened.
- **Added:** Option to link to a specific Multi-part via URL anchor e.g: `` where `step` is the identifier, `12345` the form ID and `3` the step (multi-part) that needs to be openend/shown upon page load.
- **Added:** Options for `Heading` element to use the WordPress theme styles by setting options to `none` or `-1`, for instance for Font weight, Line height etc.
- **Added:** Options to control font styles (size, line height, font weight) globally (all elements) and for field labels/descriptions specifically, plus with the option to define the font styles on mobile devices (first/second responsiveness based on window/screen width).
- **Fix:** Field placeholder font size not correctly set based on font settings.

## Sep 03, 2020 - Version 4.9.514

- **Fix:** JavaScript error when using conditional validation e.g: `Allow field to be empty > Yes, but not when the following conditions are met`

## Aug 27, 2020 - Version 4.9.513

- **Added:** Setting to turn of the new "Processing overlay/popup" and fall back to the legacy (old) thank you message `Form Settings > Form Settings > Display form processing overlay (popup)`
- **Added:** Prefix `super` to `close` classname for zero conflict policy
- **Improved:** When using the `Popup Add-on` and `Show thank you message` is disabled the popup should automatically close after form submission (this will prevent displaying an empty popup)
- **Improved:** Added timestamp to Contact Entries export file name (solves problem with cached files)

## Aug 13, 2020 - Version 4.9.512

- **WP Requirements Compliant: Maintains items to Envato's current standards for WordPress**
- **Improved:** Regex that looks for {tags} inside HTML element to exclude any tags that include double quote or single quote, because some third party plugin shortcodes might generate HTML with element attributes like `{"something":"here"}` which caused Super Forms to throw a JS error
- **Fix:** HTML element with foreach loop without {tags} inside Multi-part not being updated
- **Fix:** Make sure that third party plugins do not display notifications on the builder page that are not using the build in admin notice function within wordpress but a custom one
- **Fix:** Responsiveness when using multiple form on a single page

## Aug 04, 2020 - Version 4.9.508

- **Fix:** Multi-part autostep function passed incorrect parameter causing problems with checkboxes and other selectable elements

## Aug 03, 2020 - Version 4.9.507

- **Fix:** Google Maps not loading due to JavaScript error
- **Fix:** Several other JS errors fixe

## Jul 31, 2020 - Version 4.9.506

- **Fix:** JS error with Multi-part element when `Check for errors before going to next step` is enabled

## Jul 30, 2020 - Version 4.9.504

- **Improved:** Code refactoring
- **Improved:** Responsiveness for Radio/Checkboxes with Grid layout enabled
- **Fix:** When using radio/checkbox/dropdown with values like `0.2`, `0.20`, `0.200` and the option with `0.2` was set as the default value the other options should not be set as default value on the front-end. Fixed by enabling `strict` on `in_array()` function
- **Fix:** When using address autocomplete with mapped fields and adaptive placeholder the "filled" status should be activated for the field

## Jul 22, 2020 - Version 4.9.503

- **Fix:** Allow user to trial Add-on even when on a non-secure connection (http)

## Jul 21, 2020 - Version 4.9.502

- **Improved:** Envato Quality Indicator Application
- Removed prefix from third-party assets handles
- Renamed asset handles to match filename, and without extension
- Missing translatable text strings
- Escape translatable strings
- Remove all unused code
- Escape all translatable strings
- Use `.on()` rather than `.click()`, `.bind()`, `.hover()`, `.submit()` etc.
- **Fix:** Clear form after submission throwing javascript error

## Jul 20, 2020 - Version 4.9.501

- **Fix:** Compatibility with PayPal Add-on (not redirecting to PayPal checkout page after form submission)

## Jul 17, 2020 - Version 4.9.500

- **NEW:** PDF Generator Add-on, read the docs for more info here: [PDF Generator Add-on](
- **Added:** Documentation for [Register & Login Add-on](
- **Added:** Documentation for [Zapier Add-on](
- **Added:** Documentation for [MailChimp Add-on](
- **Added:** Documentation for [Mailster Add-on](
- **Added:** Documentation for [Mailster Add-on](

## Jun 29, 2020 - Version 4.9.471

- **Improved:** Tooltips are now also triggered by both `click` and `hover` events
- **Improved:** Resonpsiveness for radio/checkbox items when using Large or Huge field size
- **Fix:** Multipart autostep not working when having hidden fields at the bottom of a step
- **Fix:** When using a predefined tag inside `Default value` setting in combination with a button with action set to `Clear/Reset form` it was replacing the field value to the raw {tag} instead of it's value - **Fix:** Bug with dynamic columns and field name incremental

## Jun 11, 2020 - Version 4.9.466

- **Added:** New operator `??` (contains) and `!??` (does not contain) for E-mail/HTML if statements.
- **Added:** Option for datepicker to specify dates or date range to override the `Exclude days` setting. This way you can for instance exclude all Mondays, and Tuesdays, with the exception for some hollidays.
- **Improved:** Country strings are now translation ready (used on Country element)
- **Improved:** Google Map element responsiveness on mobile devices
- **Improved:** Google Map indicator in back-end to notify users that the Map will only be generated on the Front-end
- **Fix/Improved:** When using third party shortcodes inside HTML element and it does not contain any {tag} we shouldn't refresh the HTML content. This would cause losing any initialized DOM elements. This also should improve speed for forms that use a lot of HTML elements but didn't contain any {tags}
- **Fix:** PHP throwing Fatal error when using `Retrieve method` > `Post type`
- **Fix:** 3 demo forms were no longer installing properly due to invalid serialized array
- **Fix:** Issue with slider field inside dynamic column, not updating the amount label position relative to "dragger" when dynamic column becomes visible. Issue also applied to Accordion/Tab element.

## May 29, 2020 - Version 4.9.460

- **Added:** Option for Google Map element to set region code e.g `nl`, `de`, `uk`, `us` etc.uu
- **Added:** Option for Google Map element to set/adjust `zoom`
- **Added:** Option for Google Map element to enable/disable `UI (buttons)`
- **Added:** Option for Google Map element to `draw Route` from address A (origin) to address B (destination)
- **Added:** Option for Google Map element to optionally display the `directions panel` (list with route instructions)
- **Added:** Option for Google Map element to set it's travel mode `DRIVING`, `BICYCLKING`, `TRANSIT`, `WALKING`
- **Added:** Option for Google Map element to populate `distance` to field (including Calculator Add-on)
- **Added:** Option for Google Map element to populate `duration` to field (including Calculator Add-on)
- **Added:** Option for Google Map element to define the unit system `METRIC` or `IMPERIAL`
- **Added:** Option for Google Map element to draw Route with `Waypoints` (stops in between the route)
- **Added:** Option for Google Map element to optimize route with waypoints (to rearrange it in a more efficient order)
- **Added:** Option for Google Map element to avoid `Ferries`, `Major highways`, `Toll roads` (if possible)
- **Fix:** Incorrect incrementing field names in dynamic columns

## May 21, 2020 - Version 4.9.455

- **Fix:** MySQL error in prepare() statement when unique code is generated
- **Fix:** Issue with browser `Back` button remembering the uniquely generated code (Hidden field with Unique code generation enabled), should instead generate a new one so that it is a unique code.
- **Fix:** Limit for dynamic column was no longer working
- **Fix:** Fix for datepicker, user was able to click days in next and previous months while they shouldn't be able to do so

## May 13, 2020 - Version 4.9.450

- **New:** `Secure file uploads` setting under `Super Forms > Settings > File Upload Settings`
- option to define a custom directory name relative to the site root e.g:
`wp-content/uploads/superforms` _the default upload directory for file uploads_
`my-custom-public-folder` _custom file upload directory outside wp-content directory (which is still publically accessible but will not store in Media Library)_
`../my-custom-private-folder` _secure file uploads_
`../../my-custom-private-folder` _secure file uploads when WP is installed in a subdirectory_
- optionally choose to organize uploaded files in a month/year based structure e.g: `2020/05`
- option to hide file uploads from the `Media Library` even if the file was uploaded to a directory inside wp-content directory
- Note that if you are uploading files outside the root of your site then files will not be uploaded to the Media Library by default
- only allow logged in users to download secure/private files
- only allow specific roles to download secure/private files
- **New:** Option to remove hyperlinks (URLs) of file uploads in the email list
- **New:** Option to remove the uploaded files in the email list `{loop_fields}` (this will still send it as an attachment though)
- **New:** Option to hide file uploads from Media Library via `Super Forms > Settings > File Upload Settings`
- **New:** `PayPal Add-on`: option to send custom email after payment completed
- **New:** `PayPal Add-on` & `Register & Login Add-on`: option to update the registered user role after payment completed
- **New:** `Register & Login Add-on`: option to change user role for action `Update existing user`
- **New:** `WooCommerce Checkout Add-on` & `Register & Login Add-on`: option to update the registered user role after payment completed
- **New:** `WooCommerce Checkout Add-on`: option to populate checkout fields more easily with native setting, matching the field names e.g `billing_first_name` will still work and will be the `leading` value if it exists. Otherwise you can define values like so in the settings: `billing_first_name|{yourfieldnamehere}`. You can define both `billing_` and `shipping_` fields, both will work.
- **New:** Added `Custom regex` validation option for `Textarea` element
- **Added:** New filter hook `super_export_selected_entries_filter` to alter data format, e.g: if you wish to change the date format or seperate date and time and put them in a seperate column
- **Added:** New option under `Super Forms > Settings` called `Global Overriding` where you can now "override" specific settings for all forms. This gives you more power/control in case you need the same setting for all of your forms. These option will not actually replace or override the individual form setting in the database, but simply ignore them. This means you can simply revert back to whatever setting was previously used on the individual form. _In a future version we might add an option allows including/excluding specific forms from being overridden based on their form ID_
- **Added:** 2 new raw code options under `Code` TAB on builder page: `Form settings` and `Translation settings` in an improved user friendly JSON format
- **Added:** Option to send an SMTP test email from within the settings that will show a log and any possible errors returned by the SMTP server
- **Added:** Option to enable RTL (Right to left) layout for E-mails
- **Fix:** Issue with regex backslash and with custom CSS backslashes
- **Fix:** Form/User Locker would stil display a message even when disabled
- **Fix:** Brand icons not working on `Button` element
- **Fix:** Issue inside `Translation mode` where the form would say that there are 2 duplicate field names (which was due to the field names being empty)
and Contact Entry
- **Fix:** When using field typ `number` on a `Text` field make sure the `Max/Min number` settings are correctly added as min/max attributes
- **Fix:** JavaScript error when using Accordion/TABs element
- **Added:** Two new options for datepicker element to allow users to select multiple dates independently from eachother
- `Allow user to choose a maximum of X dates` _Defaults to 1, which allows a user to only pick 1 date)_
- `Require user to choose a minimum of X dates` _(Defaults to 0, which allows a user to pick no date at all)_
- **Fix:** Conflict when using multiple datepickers and one of them had `Allow users to select work days` or `Allow users to select weekends` disabled causing dates for other datepickers to be affected
- **Fix:** `Print` action not working for Button element
- **Fix:** Custo


Last Update: February 1, 2021
Created: December 9, 2015