WS Form – Build Better WordPress Forms


Build Better WordPress Forms

WS Form is a powerful form development plugin for WordPress. Use WS Form to build any type of web form from simple contact us forms to complex, integrated, multi-step application forms. Learn More

Choose from single click templates or build your own form using the unique drag and drop form editor on your desktop or mobile device.

WS Form is loaded with features out of the box that you often have to pay for with other form builder plugins.

Add forms to your pages or posts using the simple ‘Add Form’ button in the WordPress visual editor or use a shortcode, widget or page block (available in the new WordPress Gutenberg editor).

Included Features

Upgrade to PRO

This plugin is the basic, free edition of WS Form PRO. The PRO edition comes with more features:

… and more!

To upgrade to WS Form PRO, click here.

Mobile Friendly

WS Form forms are mobile friendly and scale to fit different device sizes. By upgrading to WS Form PRO you can take advantage of the responsive feature that enables you to create different form layouts for different device sizes (breakpoints).


WS Form was built with enterprise level performance in mind. WS Form does not interfere with the loading of other page or post content on your website and isolates submission records to ensure as your website grows your page load speed is not affected.

All form code is HTML 5 compliant and if your website theme uses a framework such as Bootstrap or Foundation WS Form automatically outputs code to suit that framework. This means your form loads as fast as possible without any unnecessary overhead typically found in other WordPress form plugins.

Click here to learn more about our performance features.

Extensive Field Types

WS Form comes loaded with all the field types you need to build a form. Upgrade to WS Form PRO to take advantage of all the field types available, including:

… and more!

For Developers

WS Form PRO comes with a unique debug console that provides you with rapid, form population capabilities (perfect for form testing!), as well as comprehensive event and error logging.

Third Party Credits

WS Form references the following third party components:


  • Installation Wizard
  • Layout Editor
  • Submissions
  • Example Front-End Form


This plugin provides 1 block.

WS Form - Build Better WordPress Forms


For help installing WS Form, please see our Installation knowledgebase article.


জানুৱাৰী 30, 2020
It has helped us tremendously in taking a really complex business challenge and given us the only tool flexible enough to handle all of our requirements without building an even more complex backend solution from scratch. Yes, building a plussed up form simple is super fast and easy. But the ability to layer in custom logic, call external scripts, and manipulate the presentation in response to the user with an insanely stable CMS tool is why this is such a great plugin. On top of that, their support is awesome, and their attention to details and speed in delivering bug fixes are rare in the third party plugin world. Thanks to Mark and his team!
জানুৱাৰী 23, 2020
We purchased this product for our clients site, had some issues to begin with due to recent Theme updates, the team at Mark at WS Form was quick to respond and go the extra mile in helping to sort it for us.
ডিচেম্বৰ 16, 2019
Simple to use, very intuitive. But, for me, it was their customer service that I noticed. I had an issue with a form sending emails twice. A slight irritant at worse but not a critical issue. I contacted them to report the bug. I was quickly responded to, on a Sunday, by Mark. Who not only quickly addressed the issue but pushed an update to fix the problem. Initially, he thought it might be an issued with my WP plugins and where most companies might end it there and tell me to dig into the problem myself, Mark was relentless. He downloaded the site's source code, ran some tests and found a bug that was causing the problem. As long as they are around, you got a customer for life. Thanks for your help.
নৱেম্বৰ 17, 2019
I met these guys at WordCamp US 2019. Having been a long time Gravity Forms user I struggled for years with css for responsive styling. After getting a demo at WordCamp and seeing the potential of this form system, I was blown away. I wanted to update our lead form on our website and needed something that integrated with Slack and Zoho CRM, both of which WS Form handles out of the box. I spent about 30 minutes playing with the plugin and was able to get my form working perfectly, completely connected to Zoho and Slack and passing in location data to fill in Region, Country and State fields. The best part was I did not need to code a single line of code!!!! I highly recommend this form solution! I will be using it going forward for all my forms and clients.
নৱেম্বৰ 14, 2019
Nothing but great things to say. Mark has been exceptional with support and quick to release much needed updates and additions to the plugin! Highly recommend this plugin. By far the best one I've used.
নৱেম্বৰ 14, 2019
This form builder is absolutely wonderful. It is very flexible and the add-ons make it even better. The support is great too. Very fast turnaround on all questions. Wish we had found it sooner.
Read all 12 reviews

Contributors & Developers

“WS Form – Build Better WordPress Forms” is open source software. The following people have contributed to this plugin.




  • Bug Fix: PHP 5.6 legacy code fix in setup_from_post


  • Bug Fix: Repeatable sections pre-release issue


  • Bug Fix: Radio fields on tab validation


  • Changed: Performance improvements
  • Bug Fix: CodeMirror field initialization in sidebar on hidden tabs


  • Bug Fix: File real-time validation


  • Added: Conditional logic firing on price total changes


  • Changed: Improved ecommerce calculation locking for fixed price forms


  • Changed: Latest version of inputmask


  • Bug Fix: Input mask on currency fields


  • Changed: Improved script enqueuing dependencies and versioning. Head / footer script enqueuing


  • Bug Fix: Zero e-commerce amounts


  • Bug Fix: Repeater down arrow on condensed columns
  • Bug Fix: Action data serialization on submit


  • Bug Fix: Save notifications on rapid sidebar switching
  • Bug Fix: Required fields on hidden sections


  • Changed: Improved underlying post data for previews


  • Added: Tab validation
  • Added: Tab, section, field validation in conditional logic
  • Added: Workaround if other plugins have post loop bug in preview


  • Bug Fix: Tab sorting


  • Changed: Improved sidebar save


  • Changed: Improved form statistics performance
  • Bug Fix: Safari file input check bug


  • Changed: Updated jquery.inputmask to newer version


  • Added: Select2 sidebar field type for WooCommerce add-on
  • Bug Fix: User ID logging on submissions


  • Added: Range slider track filling


  • Bug Fix: Cart total format fix


  • Changed: Thousand separator inherited from e-commerce settings for price rendering


  • Changed: Improved submit button targeting for disable / cursor on submit


  • Bug Fix: Get currency function for different currency alignment


  • Bug Fix: Action get fixed when user logged out


  • Added: Additional WCAG compliance items
  • Added: Improved post management


  • Changed: Improved form unlocking


  • Change: Divi changes for latest version
  • Change: CSS changes for latest WP version
  • Bug Fix: Post setup on actions


  • Added: Option population custom end points
  • Bug Fix: Welcome AJAX test step buttons
  • Bug Fix: Sidebar field option filtering


  • Added: CSS expire headers option


  • Changed: Search action form ID identification


  • Bug Fix: Elementor front-end fix


  • Bug Fix: Published form array fix


  • Bug Fix: Rating field events
  • Bug Fix: Submission printing
  • Bug Fix: Bypass mod_security # sensitivity on Bluehost (Ticket: 18835473)


  • Added: Show form if logged out
  • Bug Fix: Action firing with conditional logic


  • Bug Fix: Action logging


  • Added: Elementor widget
  • Added: Dark mode for debug console
  • Added: random_number and random_string functions


  • Bug Fix: Multi-instance required field bypassing
  • Bug Fix: Message clearing on form reload


  • Added: Input mask on date field type
  • Added: Year start and finish on date field type


  • Bug Fix: Debug Console visibility


  • Added: Legal field type
  • Added: Termageddon integration
  • Bug Fix: Meta data deletion


  • Added: Beaver Builder module
  • Changed: Welcome screen improvements
  • Changed: Search with no keyword still runs search
  • Changed: Various CSS upgrades
  • Bug Fix: Framework detection performance improvements
  • Bug Fix: Scrolling on debug tab if third party scroll component installed


  • Changed: Updated ARIA attributes
  • Changed: Shortcode copy improvement
  • Bug Fix: Time picker format


  • Added: pattern attribute on date fields
  • Added: Shortcode copy feature
  • Changed: Updated ARIA attributes
  • Bug Fix: pattern removed from textarea
  • Bug Fix: Tracking variable parsing
  • Bug Fix: Form table tr


  • Added: Date field level date and time formats
  • Added: Form unlock controls


  • Added: WordPress 5.3 CSS improvements
  • Added: Date comparison conditional logic


  • Added: WordPress 5.3 compatibility


  • Added: Additional functions for reading / writing submit data
  • Bug Fix: Save button locking and functionality


  • Changed: Action firing priority of redirect
  • Bug Fix: Field and section rendering in admin
  • Bug Fix: Data grid checkbox ID’s


  • Added: CSS modifications for static


  • Added: Stats disabling


  • Added: Context sensitive help icons
  • Bug Fix: Conditional logic row actions


  • Added: wsf-form-canvas class


  • Changed: wsf-form class for non standard form implementation styling
  • Bug Fix: Message clearing on multiple form instances


  • Bug Fix: Action firing on forms with custom actions
  • Bug Fix: Sidebar AJAX population with blank options


  • Changed: Email action priority
  • Changed: Search query var and pre_get_posts priority


  • Added: Search field type and template
  • Added: 5.2.4 testing


  • Added: Search action
  • Added: Functionality for WooCommerce add-on
  • Changed: Removed flex option
  • Changed: Email action from and to name encoding
  • Changed: Renamed Progress Bar to Progress


  • Bug Fix: CSS update


  • Added: Additional field styling options to fields
  • Added: Additional icons for KB articles
  • Changed: Removed promo from plain text email template
  • Bug Fix: Action repeater field ID repair on JSON import
  • Bug Fix: Cascading select and radio fields in iOS


  • Added: Cascading select and radio fields
  • Bug Fix: Data grid label fix


  • Changed: Support system integrated with Zendesk
  • Bug Fix: Rich editing and syntax highlight toggling in public.js


  • Added: Action meta key variable default values


  • Bug Fix: E-commerce cart total logging on fixed price payment buttons


  • Bug Fix: Color variable fix


  • Added: Color checkboxes and radios
  • Added: How to templates


  • Bug Fix: Input validation method (Overcomes jQuery mobile issue)


  • Changed: Improved e-commerce meta data rendering on submits


  • Added: New user management support


  • Added: Additional templates
  • Changed: Improved clarity of templates
  • Changed: Default required string
  • Bug Fix: Visual Editor keyup event


  • Added: Additional wizard templates
  • Changed: Dynamic wizard SVGs


  • Added: Date picker styles
  • Changed: Improved wizard management


  • Changed: Improved form stat additions
  • Changed: Form add hooks


  • Bug Fix: Hidden visual text editor


  • Changed: Form reset / clear conditional re-run
  • Bug Fix: Import form ID lookups


  • Bug Fix: Price parsing fix


  • Added: Exclude from email setting on fields
  • Changed: Improved presentation of price field values
  • Changed: Improved presentation of multi-select fields in submit sidebar and emails


  • Added: Routines for WooCommerce
  • Added: Action log now uses action label
  • Added: Layout editor tutorial
  • Bug Fix: Drag and drop datagrid
  • Bug Fix: Drag and drop form upload


  • Added: Field vertical alignment
  • Added: Button type styling classes


  • Bug Fix: Minor bug fix on settings page


  • Added: Routines for WooCommerce
  • Added: AJAX form firing toggle
  • Added: MutationObserver on forms to remove them from debug console
  • Changed: Improved descriptions for e-commerce variables
  • Changed: E-Commerce settings now pulled from WooCommerce if installed
  • Changed: Improved clarity on labels in layout editor
  • Changed: Reset button type now submit
  • Changed: Submit buttons set to disabled on lock
  • Bug Fix: Action firing with conditional logic


  • Added: Cart price span variables
  • Changed: Better handling of cart price fields
  • Changed: Better event triggering
  • Changed: Improved cart calculation
  • Bug Fix: Password meter reset on password delete
  • Bug Fix: Variables pop-up


  • Added: Routines for WooCommerce
  • Bug Fix: HTML escaping in select, radio and checkbox values
  • Bug Fix: Screen option saving on submissions


  • Bug Fix: DB fix


  • Added: Submission count in admin menu
  • Bug Fix: Action firing by conditional logic
  • Bug Fix: Divi styling


  • Added: New functionality to support Salesforce add-on
  • Bug Fix: Admin icon fix
  • Bug Fix: Export warning


  • Bug Fix: WS Form icon rendering
  • Bug Fix: Additional third party plugin CSS overrides


  • Bug Fix: reCaptcha size attribute (normal / compact)


  • Bug Fix: Max upload size JS error fix


  • Bug Fix: Plain text email fix


  • Bug Fix: Price floating point fix


  • Bug Fix: Improved reCaptcha / signature conditional logic on hidden sections


  • Added: Additional blog date / time variables
  • Bug Fix: Select conditional logic actions


  • Bug Fix: Correct formatting on visual editor email templates


  • Bug Fix: Improvements to file upload routines


  • Added: Support for featured images on posts


  • Bug Fix: Signature real time validation event triggering


  • Added: Disabled submit on enter key by default. Can be re-enabled in form settings


  • Added: Populate functionality for improved date functionality
  • Bug Fix: Import of uninstalled field types


  • Added: New e-commerce variables
  • Change: Improved date / color field native support
  • Change: Date jQuery component destroyed if date field made readonly
  • Change: Additional fixed classes added for styling
  • Change: E-Commerce calculation fired on conditional login processing
  • Bug Fix: Text editor not saving unless keypress occurs
  • Bug Fix: Signature required status
  • Bug Fix: Minor conditional logic styling fix


  • Added: Divi visual builder component
  • Bug Fix: PRO badges
  • Bug Fix: Lower bulk action dropdowns


  • Added: Support for list subs (Google Sheets)
  • Added: Variables in message action
  • Change: Improved CSV export
  • Bug Fix: Checkbox event firing


  • Added: CSS for toggle checkboxes
  • Bug Fix: Conditional actions
  • Bug Fix: Blank emails ignored in email action


  • Change: Improved #email_submission rendering


  • Change: Improved performance for visibility conditional logic


  • Bug Fix: Field required bypassing


  • Bug Fix: Fixed validation on hidden select, radio and checkboxes
  • Bug Fix: Foundation hidden field fix


  • Bug Fix: wpautop fix on text editor field


  • Added: #select_option_text variable
  • Bug Fix: wp_footer enqueue priority


  • Bug Fix: Preview with form limits


  • Bug Fix: DB key fixes
  • Bug Fix: Encryption constant bug fix for older PHP versions


  • Bug Fix: Improved handling of user_can_richedit flag


  • Change: Improved API error handling
  • Bug Fix: Submission delete with deleted file attachment


  • Added: Additional RTL classes
  • Bug Fix: EDD update class fixes


  • Added: RTL classes


  • Added: Field types can now be clicked to add them
  • Bug Fix: Export of select, radio and checkbox array data


  • Bug Fix: Add-on templates (PRO)
  • Bug Fix: Preview


  • Added: Instant and smooth scrolling for messages and next/previous tab buttons. Offset for scroll.


  • Bug fix: Form validation fixes


  • Bug fix: Signature redraw in Bootstrap (PRO)


  • Bug fix: REST API path fix


  • Change: Improved next/previous functionality
  • Bug fix: Validation on hidden fields with min / max values


  • Bug Fix: Windows incorrectly reports MIME types for CSV files. Changed file format detection.


  • Added: #user_meta variables


  • Bug Fix: Multiple calls to shortcode in wp_head caused rendering errors in preview mode


  • Added: Locate feature now checks posts as well as pages and widgets
  • Change: Preview template reset to automatic on theme change
  • Bug Fix: Submit button width on free version


  • Bug Fix: Date time picker loading improvement


  • Change: Optimized form config on public side
  • Change: Improved nonce handling
  • Change: Improve password security script handling


  • Bug Fix: Icon


  • WordPress 5.1 testing
  • Change: Improved API error handling


  • Added: HKDF-SHA256 AES-256-CTR encryption of submission data (PRO)


  • Bug Fix: Honeypot field Abide validation in Foundation
  • Bug Fix: Removed dependency on mime_content_type()
  • Bug Fix: Hidden required field fixes


  • Bug Fix: # encoding in URL data
  • Bug Fix: Password field language data
  • Bug Fix: Preview wp_query posts_per_page attribute override


  • Added: Dashboard for submission statistics widget
  • Changed: Added ID’s to submissions list
  • Bug Fix: Screen options
  • Bug Fix: Form & submission status links


  • Added: Locate where forms are embedded in pages and widgets


  • Added: WPForms migration tool (PRO)
  • Added: Deduplication option on fields
  • Added: Various WS Form framework styling improvements
  • Bug Fix: Improvements to migration import engine


  • Added: Gravity Forms and Visual Form Builder Pro migration tool (PRO)
  • Added: Rating field type (PRO)
  • Added: Form stats capturing and display on form list (PRO)
  • Added: Submission starred states
  • Added: Submission viewed states
  • Added: Submission count limiting (PRO)
  • Added: Form scheduling (PRO)
  • Added: Form only show if user logged in (PRO)
  • Added: Visual editor and HTML editor options for textarea field types (PRO)
  • Added: Ability to hide fields
  • Added: Spam filter level selector
  • Added: Ability to set value of text editor fields using conditional logic (PRO)
  • Added: Select All on checkbox fields
  • Changed: Improved visual editor and HTML editor rendering
  • Changed: Improved database indexing
  • Changed: ID’s and/or submission counts added for form lists
  • Bug Fix: Default color value
  • Bug Fix: Sentence population
  • Bug Fix: Improved form reload handling
  • Bug Fix: Submit duration


  • Bug fix: Support for websites using MooTools


  • Added: Custom Endpoint action (PRO)


  • Added: New functions and filters for manipulating forms prior to rendering (PRO)
  • Added: Form, tab and section ID’s added to sidebars
  • Added: Custom form action


  • Bug fix: Full width class fix on buttons


  • Added: Ability to remove full width class on buttons
  • Bug fix: Removed currency symbols from default price select, radio and checkbox fields (PRO)


  • Added: Form import / export on form list page
  • Added: E-Commerce price range field type (PRO)
  • Added: E-Commerce form examples (PRO)
  • Changed: Improved email field validation for progress bars (PRO)
  • Bug fix: Form trash


  • Added: Custom field attributes
  • Changed: Password field added to core (PRO)
  • Bug fix: Improved field dependency adjustments on delete
  • Bug fix: Margin on text editor fields


  • Added: Various improvements to mobile / styling and layout
  • Added: New loader style


  • Added: Improved admin styling for WordPress websites hosted on
  • Added: New functionality for supporting Authorize.Net Accept payments (PRO)
  • Added: Improved population of phone numbers (PRO) and IP addresses
  • Bug fix: Various bug fixes for improved stability


  • Added: New JavaScript trigger events


  • Bug fix: Save form state (PRO)


  • Changed: Improved detection of page templates for previewing


  • Added: Option to show action misconfiguration errors client side
  • Bug fix: Multi-site debug console (PRO)
  • Bug fix: Removed dependency on pluggable.php


  • Changed: Improved debugger fonts
  • Bug fix: Chrome draggable bug
  • Bug fix: DataGrid rows per page bug


  • Changed: Improved framework detection script
  • Added: E-Commerce price field alignment (PRO)
  • Bug fix: Divider and spacer field types for Foundation


  • Added: Image setting for sidebar
  • Changed: Action updated ready for new payment add-ons (PRO)


  • Changed: Improved text alignment for e-commerce fields (PRO)


  • Changed: Improved debug population for checkbox and radio fields (PRO)
  • Bug fix: Price text justified on cart detail fields
  • Bug fix: Bootstrap 3 radio and checkbox fixes


  • Added: Ability to run any action via conditional logic (PRO)
  • Changed: Improved variables help
  • Bug fix: One time use fields no longer copied
  • Bug fix: Server side action handler


  • Bug fix: Form validation


  • Added: New form level conditional logic, including ‘On validated’
  • Added: New progress bar conditional logic
  • Added: Improved notifications for required field settings
  • Added: E-Commerce functionality (PRO)
  • Added: Support for e-commerce payment methods (PRO)
  • Changed: Improved conditional logic event firing
  • Changed: Improved upgrade and add-on functionality
  • Changed: Additions to CSS to fix problems caused by third CSS implementations
  • Bug fix: Submission tab labels
  • Bug fix: JQuery UI CSS overrides
  • Bug fix: Improved form preview functionality and permalink detection for API calls
  • Bug fix: Data grid labels for groups rendering
  • Bug fix: Submit meta data overwrite
  • Bug fix: Bootstrap wrappers
  • Bug fix: Foundation 6.4+ tabs
  • Bug fix: Tab and section copying now excludes single use fields (e.g. reCaptcha)


  • Added: Disabled icon on sections
  • Changed: Additions to CSS to fix problems caused by third CSS implementations
  • Bug fix: DB inserts for form and field
  • Bug fix: Sidebar conditions


  • Changed: Improved admin CSS to fix problems caused by third CSS implementations


  • Changed: Submit save now retains actions
  • Bug fix: Progress bar and data grid rows
  • Bug fix: Conditional logic auto page add


  • Bug Fix: Color picker CDN path
  • Bug Fix: Signature progress bar
  • Bug Fix: File download API paths for permalinks not using postname


  • Added: Gutenberg support for forthcoming WordPress 5
  • Added: Keyboard shortcuts in submissions editor
  • Bug fix: Word and character count validation


  • Added: Support for new PDF add on
  • Changed: Improved email template


  • Bug Fix: Akismet header return


  • Added: Option to include file and signature fields in emails (PRO)
  • Added: Image optimization and MIME type selector in file field type (PRO)
  • Bug Fix: Blank signature detection (PRO)
  • Bug Fix: Publish button fix on JSON form upload


  • Added: Signature cropping, JPG background colors and inline embedding in emails (PRO)
  • Added: Option to exclude empty fields in email submissions
  • Changed: Improved built in email template
  • Bug Fix: Improved variable parsing


  • Added: Client side date variables
  • Added: Automatic handling of hidden required fields


  • Changed: Optimized client side JavaScript
  • Bug Fix: reCaptcha field (PRO)
  • Bug Fix: Signature components loaded via CDN and hidden with conditional logic (PRO)


  • Added: Email action to basic edition
  • Added: Data Export Request action to basic edition
  • Added: Data Erasure Request action to basic edition
  • Changed: Activation script improvements


  • Added: Link to support tickets in support sidebar
  • Bug Fix: Tab deletion


  • Added: Support for Campaign Monitor plugin (PRO)
  • Added: Visible field ID’s in advanced mode
  • Bug Fix: Field API


  • Added: Support for Zapier plugin (PRO)
  • Bug Fix: Improved API security


  • Added: Input masks
  • Added: CDN / Local options for external jquery libraries (PRO)
  • Bug Fix: Select conditional was not firing on ‘Is Selected’ (PRO)


  • Added: More variables that reference customize appearance values
  • Added: Improved Welcome screen error detection to ensure WordPress is installed correctly
  • Added: Run hook function now supports firing a message or redirect on complete (PRO)
  • Added: Support for new Slack add-on (PRO)
  • Bug Fix: Error handling bug fix on public script


  • Added: Conversion Tracking action for Google and Facebook (PRO)
  • Added: Run JavaScript action allows JS to be fired on form save and submit (PRO)
  • Bug Fix: Section legend custom masks


  • Added: New preview options in settings
  • Bug Fix: Improved Gutenberg support
  • Bug Fix: Support for sub-domain websites


  • Added: Progress bar field type and variable functionality (PRO)
  • Added: reCAPTCHA Version 3 support integrated with WS Form spam system (PRO)
  • Added: Additional user variables
  • Changed: Performance improvements
  • Changed: Improved mobile version of form builder
  • Bug Fix: Message action clear function
  • Bug Fix: WordPress editor integration


  • Added: Gutenberg support
  • Added: Integrated knowledgebase search
  • Changed: Performance improvements


  • Initial release.