Skip to content
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
Failed to load latest commit information.
.tx Transifex support, js globalisation
_config API Integrate with secure assets module
code BUG call log() function on instance of UserFormsUpgradeService, to re…
css Minor:fixed userforms class name specificity
docs ENHANCEMENT: Add 'HideLabel' field for EditableLiteralField objects
images NEW: Added a numeric field and associated png
javascript BUG Prevent subsequent write being triggered in onAfterWrite()
lang Update translations
scss Minor:fixed userforms class name specificity
templates MINOR: fix for styling for one or more buttons that don't need the li…
tests BUG Prevent subsequent write being triggered in onAfterWrite()
thirdparty Add option for displaying error messages at the top of the form
.editorconfig Added standard editor config
.gitattributes Added standard git attributes
.gitignore Cms styling for fieldgroups
.scrutinizer.yml Added Scrutinizer delay
.travis.yml Fixed code coverage reporting
_config.php API new form editor Update changelog for 3.1.1 release Added standard code of conduct
composer.json Add changelog for release
config.rb Cms styling for fieldgroups Made supported Updated license year Making requirements clearer Made supported


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

Build Status Code Quality Code Coverage Version License


See the "require" section of composer.json


  • 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 (


$ composer require silverstripe/userforms

You'll also need to run dev/build. You should see a new page type 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.


This library follows Semver. According to Semver, you will be able to upgrade to any minor or patch version of this library without any breaking changes to the public API. Semver also requires that we clearly define the public API for this library.

All methods, with public visibility, are part of the public API. All other methods are not part of the public API. Where possible, we'll try to keep protected methods backwards-compatible in minor/patch versions, but if you're overriding methods then please test your work before upgrading.

Reporting Issues

Please create an issue for any bugs you've found, or features you're missing.

Something went wrong with that request. Please try again.