Skip to content


Subversion checkout URL

You can clone with
Download ZIP
UserForms module provides a visual form builder for the SilverStripe CMS. No coding required to build forms such as contact pages.
PHP JavaScript CSS Scheme Ruby

Merge pull request #326 from silverstripe/spelling-correction-to-auth…


Spelling correction to "authenication"
latest commit d53a66353b
@tractorcow tractorcow authored


Build Status


UserForms enables CMS users to create dynamic forms via a drag and drop interface and without getting involved in any PHP code.

Maintainer Contact

  • Will Rossiter (Nickname: wrossiter, willr) <will (at) fullscreen (dot) io>


  • SilverStripe 3.1


  • Construct a form using all major form fields (text, email, dropdown, radio, checkbox..)
  • Ability to extend userforms from other modules to provide extra fields.
  • Ability to email multiple people the form submission
  • View submitted submissions and export them to CSV
  • Define custom error messages and validation settings
  • Optionally display and hide fields using javascript based on users input
  • Pre fill your form fields, by passing your values by url (


Installation can be done either by composer or by manually downloading a release.

Via composer

composer require "silverstripe/userforms:*"


  1. Download the module from the releases page.
  2. Extract the file (if you are on windows try 7-zip for extracting tar.gz files
  3. Make sure the folder after being extracted is named 'userforms'
  4. Place this directory in your sites root directory. This is the one with framework and cms in it.


After installation, make sure you rebuild your database through dev/build.

You should see a new PageType in the CMS 'User Defined Form'. This has a new 'Form' tab which has your form builder.



I would like to thank everyone who has contributed to the module, bugfixers, testers, clients who use the module and everyone that submits new features.

A big thanks goes out to Jan Düsedau for drawing the custom icon set for the form fields.



Translations of the natural language strings are managed through a third party translation interface, Newly added strings will be periodically uploaded there for translation, and any new translations will be merged back to the project source code.

Please use to contribute translations, rather than sending pull requests with YAML files.

Something went wrong with that request. Please try again.