It feels like there’s a million form plugins these days, and there’s some truly great form plugins in the premium space, such as Gravity Forms. However, not every WordPress user or client has the budget or need for a premium form plugin.
You’d think there would be plenty of free form plugins available (and there are), but they are decidedly a mixed bag. The problem with “free” is that this often actually means “we’re going to take every opportunity to upsell to our premium product”. There’s nothing inherently wrong with this. Everyone needs to make money, but for a client site the upsells are not appropriate and many of them are extremely spammy and use quite underhand tactics to force that all important paid upgrade.
So, this had us searching for viable free options. We recently highlighted Forminator as what we consider to be the best overall free form plugin, and we still think it’s great. It has an upsell, but it’s not too in your face, but more importantly it has some advanced features such as conditional logic and integrations with popular software such as Mailchimp.
So, what’s the deal?
Formality is a 100% free and open source form plugin for WordPress. Currently, there’s no premium version and there’s a public development roadmap – very cool.
The big question is, why would you use this plugin instead of Forminator? there’s a few compelling reasons:
- 100% free, no upsells at all.
- Theme agnostic design, making it not overly intrusive on the front-end.
- Uses Gutenberg to build the forms – simply drag and drop field blocks. If you aren’t a fan of Gutenberg then a shortcode can be used for insertion.
- Allows for conversational and multi-step forms.
- Has basic conditional logic built in.
- Form results can be stored in the database.
- Allows you to have URL’s directly to forms – they don’t have to be embedded in pages. This is great for questionnaires.
So, why wouldn’t you use Formality? there’s a few reasons:
- No integrations with mailing list software e.g. Mailchimp
- No way to pass data to the form from external pages e.g. Pre-fill the “job title” from the job page when applying for a job. Edit: this is possible, but doesn’t yet appear to be documented.
- The conditional logic is quite basic.
- Limited field types.
Even with the shortcomings listed above, we still think this is well worth checking out and supporting. The plugin is very new and over time will certainly get new features – the plugin even has a public roadmap on its website, although some of the above aren’t yet addressed.
A closer look at some of the features
Gutenberg
The Gutenberg integration is amongst the best we’ve seen in WordPress. The interface for building forms feels intuitive and “just like WordPress”, which is great if you have clients that want to add or edit forms. It’s practically white label.
Field Types
Although Formality has less fields than many premium form plugins, it still has the essentials:
- Text
- Textarea
- Number
- Select
- Multiple choice
- Switch
- Rating
- Upload
You also have some layout elements that can be used:
- Step
- Message
- Media
Step is very useful for making multi-step forms, which can be a very user-friendly way of presenting longer forms more digestible.
We’d like to see some more options here, especially when it comes to field validation. The conditional logic could also be a little more advanced and intuitive to use, but overall you still have everything you need here to make some pretty advanced forms.
The Upload Field
The upload field is so nice it deserves its own section. The front-end interface for this is excellent – easily the best we’ve seen from any form plugin. The admin interface is also unrivalled, allowing you to easily set the file size limit and allowed field types.
Conversational Forms
Conversational forms allow you to reveal form fields one-by-one, this creates a very simple interface that won’t overwhelm users. The default interface for this is great. There isn’t too many customisation options for this built in (yet), but with a little CSS, it’s possible to change this significantly.
What we’d love to see in the future
Dynamic population of fields
The ability to pre-populate data in forms is really essential for more advanced sites. Edit: this appears to be possible, but currently undocumented. We will update in due course.
More developer hooks
There are currently a limited number of developer hooks, mostly dealing with presentational elements. It would be great to have the ability to add custom fields types or validation rules.
Integrations
Integrations are an important part of forms – sending data to other services is common practice. Zapier is probably a good starting point here.
Wrapping it up
Overall, Formality is an excellent form plugin. For a simple form, it’s definitely the best free solution out there and is bound to get better as it was only released in August 2020. Everyone should give this a try, even if it’s only to see the excellent Gutenberg integration.