PHPackages                             silverstripe/userforms - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. silverstripe/userforms

ActiveSilverstripe-vendormodule[Utility &amp; Helpers](/categories/utility)

silverstripe/userforms
======================

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

7.1.1(1w ago)1371.1M↓41%223[86 issues](https://github.com/silverstripe/silverstripe-userforms/issues)[16 PRs](https://github.com/silverstripe/silverstripe-userforms/pulls)20BSD-3-ClausePHPPHP ^8.3CI passing

Since Jul 18Pushed 1w ago24 watchersCompare

[ Source](https://github.com/silverstripe/silverstripe-userforms)[ Packagist](https://packagist.org/packages/silverstripe/userforms)[ RSS](/packages/silverstripe-userforms/feed)WikiDiscussions 7 Synced 3d ago

READMEChangelog (10)Dependencies (34)Versions (234)Used By (20)Security (3)

UserForms
=========

[](#userforms)

[![CI](https://github.com/silverstripe/silverstripe-userforms/actions/workflows/ci.yml/badge.svg)](https://github.com/silverstripe/silverstripe-userforms/actions/workflows/ci.yml)[![Silverstripe supported module](https://camo.githubusercontent.com/9b7e93d393a01f6d3091fb30983b870aa863ef076858115faaa1c74b995854ec/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f73696c7665727374726970652d737570706f727465642d3030373143342e737667)](https://www.silverstripe.org/software/addons/silverstripe-commercially-supported-module-list/)

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

Features
--------

[](#features)

- 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
- Displays a confirmation message when navigating away from a partially completed form.

Installation
------------

[](#installation)

```
composer require silverstripe/userforms
```

Spam protection
---------------

[](#spam-protection)

This module does not include spam protection out of the box. Without it, it's likely that your submissions could contain a considerable amount of spam. For public facing forms it is encouraged you review and install the following module plus one of the recommended 'verification system' modules outlined in the README.

Read the [SpamProtection Module README](https://github.com/silverstripe/silverstripe-spamprotection/) for details on how to configure this module.

Documentation
-------------

[](#documentation)

- [Index](docs/en/index.md)
- [Installation instructions](docs/en/installation.md)
- [Troubleshooting](docs/en/troubleshooting.md)
- [User Documentation](docs/en/userguide/index.md)

Thanks
------

[](#thanks)

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](http://eformation.de) for drawing the custom icon set for the form fields.

Versioning
----------

[](#versioning)

This library follows [Semver](http://semver.org). 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
----------------

[](#reporting-issues)

Please [create an issue](http://github.com/silverstripe/silverstripe-userforms/issues) for any bugs you've found, or features you're missing.

###  Health Score

76

—

ExcellentBetter than 100% of packages

Maintenance85

Actively maintained with recent releases

Popularity58

Moderate usage in the ecosystem

Community54

Growing community involvement

Maturity98

Battle-tested with a long release history

 Bus Factor4

4 contributors hold 50%+ of commits

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~21 days

Recently: every ~0 days

Total

221

Last Release

11d ago

Major Versions

6.4.5 → 7.0.12025-08-18

6.4.6 → 7.0.32025-11-06

6.4.8 → 7.0.52026-02-04

6.x-dev → 7.0.62026-02-05

6.4.9 → 7.1.12026-06-24

PHP version history (5 changes)5.6.0-rc1PHP &gt;=7.1

5.11.0PHP ^7.3 || ^8.0

5.12.0PHP ^7.4 || ^8.0

6.0.0-beta1PHP ^8.1

7.0.0-alpha1PHP ^8.3

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/654636?v=4)[Aaron Carlino](/maintainers/unclecheese)[@unclecheese](https://github.com/unclecheese)

![](https://www.gravatar.com/avatar/b0cba8b534e20e6ab4fff555a97b237a18436ebca1446fc0b29c8a8b504038b9?d=identicon)[GuySartorelli](/maintainers/GuySartorelli)

![](https://avatars.githubusercontent.com/u/111025?v=4)[Ingo Schommer](/maintainers/chillu)[@chillu](https://github.com/chillu)

![](https://www.gravatar.com/avatar/a25bc04c5720a36869d5a39c6449dde7eb43e19b7c8e666d5f632d6a9ab440b1?d=identicon)[emteknetnz](/maintainers/emteknetnz)

![](https://www.gravatar.com/avatar/afbb3dcc9ef29c1a6eedd6addcae5fce9ab1271915a85a4c349301b71237368d?d=identicon)[silverstripe-machine01](/maintainers/silverstripe-machine01)

![](https://www.gravatar.com/avatar/be6648e60fbab6f70bfc34dd8c14259562d28a47510a934ea9c01fe98633f3c2?d=identicon)[sminnee](/maintainers/sminnee)

![](https://avatars.githubusercontent.com/u/1168676?v=4)[Maxime Rainville](/maintainers/maxime-rainville)[@maxime-rainville](https://github.com/maxime-rainville)

![](https://avatars.githubusercontent.com/u/101629?v=4)[Will Rossiter](/maintainers/wilr)[@wilr](https://github.com/wilr)

---

Top Contributors

[![robbieaverill](https://avatars.githubusercontent.com/u/5170590?v=4)](https://github.com/robbieaverill "robbieaverill (276 commits)")[![wilr](https://avatars.githubusercontent.com/u/101629?v=4)](https://github.com/wilr "wilr (187 commits)")[![emteknetnz](https://avatars.githubusercontent.com/u/4809037?v=4)](https://github.com/emteknetnz "emteknetnz (181 commits)")[![GuySartorelli](https://avatars.githubusercontent.com/u/36352093?v=4)](https://github.com/GuySartorelli "GuySartorelli (167 commits)")[![github-actions[bot]](https://avatars.githubusercontent.com/in/15368?v=4)](https://github.com/github-actions[bot] "github-actions[bot] (103 commits)")[![dhensby](https://avatars.githubusercontent.com/u/563596?v=4)](https://github.com/dhensby "dhensby (76 commits)")[![NightJar](https://avatars.githubusercontent.com/u/778003?v=4)](https://github.com/NightJar "NightJar (46 commits)")[![chillu](https://avatars.githubusercontent.com/u/111025?v=4)](https://github.com/chillu "chillu (35 commits)")[![assertchris](https://avatars.githubusercontent.com/u/200609?v=4)](https://github.com/assertchris "assertchris (33 commits)")[![davidmorrisonnz](https://avatars.githubusercontent.com/u/22651645?v=4)](https://github.com/davidmorrisonnz "davidmorrisonnz (31 commits)")[![dependabot[bot]](https://avatars.githubusercontent.com/in/29110?v=4)](https://github.com/dependabot[bot] "dependabot[bot] (29 commits)")[![mateusz](https://avatars.githubusercontent.com/u/118653?v=4)](https://github.com/mateusz "mateusz (26 commits)")[![kmayo-ss](https://avatars.githubusercontent.com/u/1711912?v=4)](https://github.com/kmayo-ss "kmayo-ss (17 commits)")[![fspringveldt](https://avatars.githubusercontent.com/u/10938392?v=4)](https://github.com/fspringveldt "fspringveldt (14 commits)")[![michalkleiner](https://avatars.githubusercontent.com/u/233342?v=4)](https://github.com/michalkleiner "michalkleiner (14 commits)")[![sabina-talipova](https://avatars.githubusercontent.com/u/87288324?v=4)](https://github.com/sabina-talipova "sabina-talipova (11 commits)")[![sachajudd](https://avatars.githubusercontent.com/u/24258161?v=4)](https://github.com/sachajudd "sachajudd (11 commits)")[![3Dgoo](https://avatars.githubusercontent.com/u/2616373?v=4)](https://github.com/3Dgoo "3Dgoo (10 commits)")[![flashbackzoo](https://avatars.githubusercontent.com/u/878176?v=4)](https://github.com/flashbackzoo "flashbackzoo (9 commits)")[![jyrkij](https://avatars.githubusercontent.com/u/9883?v=4)](https://github.com/jyrkij "jyrkij (8 commits)")

---

Tags

hacktoberfestsilverstripeuserforms

###  Code Quality

TestsPHPUnit

Code StylePHP\_CodeSniffer

### Embed Badge

![Health badge](/badges/silverstripe-userforms/health.svg)

```
[![Health](https://phpackages.com/badges/silverstripe-userforms/health.svg)](https://phpackages.com/packages/silverstripe-userforms)
```

###  Alternatives

[dnadesign/silverstripe-elemental

Elemental pagetype and collection of Elements

1141.1M310](/packages/dnadesign-silverstripe-elemental)[symbiote/silverstripe-advancedworkflow

Adds configurable workflow support to the CMS, with a GUI for creating custom workflow definitions.

46302.4k9](/packages/symbiote-silverstripe-advancedworkflow)[silverstripe/cms

The SilverStripe Content Management System

5253.6M1.4k](/packages/silverstripe-cms)[silverstripe/admin

SilverStripe admin interface

262.8M385](/packages/silverstripe-admin)[silverstripe/tagfield

Tag field for SilverStripe

561.3M50](/packages/silverstripe-tagfield)[silverstripe/sharedraftcontent

Share draft page content with non-CMS users

21424.1k12](/packages/silverstripe-sharedraftcontent)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
