The most common contact-form problem is not the plugin. It is that the form works perfectly — it accepts the submission, shows the thank-you message — and the email never arrives, because the site tried to send it with PHP’s mail() function and the receiving server silently dropped it as spam. People then reinstall the plugin, which changes nothing.
So the ranking below weighs deliverability, spam handling and entry storage alongside the plugin’s feature list. All figures are from the WordPress.org directory as of November 2026.
The five that are worth your time
1. Contact Form 7 — 10+ million active installs, 80/100
Still the most installed form plugin in the world, by a wide margin, and still the one I would only choose deliberately. It is free, it is tiny, it produces clean markup and it has been maintained continuously — last updated 29 October 2026, tested to WordPress 7.1.4, requiring PHP 8.3.
The catch is what it does not do. It does not store submissions: by default the only record of a form entry is the email. That surprises people who assume “no entries in the dashboard” means “form is broken” — see how to know when a form was submitted. You also need Flamingo, by the same author, to keep a copy.
Its 80/100 rating across 2,186 reviews is the lowest in this list, and it reflects the plugin’s terse markup and lack of a visual builder more than reliability.
Choose it if you are comfortable with shortcode syntax, want the smallest possible footprint, or you are maintaining a site that already uses it.
2. WPForms Lite — 5+ million active installs, 96/100
The friendliest option for someone who has never built a form. Drag-and-drop builder, sensible default styles that inherit your theme, and a genuinely usable free version. Directory data: 5+ million active installations, 96/100 from 14,387 reviews — the largest review base in the category — updated 29 October 2026, tested to 7.1.4.
The free version covers a contact form, a newsletter form and basic notifications. Conditional logic, multi-page forms and most integrations are paid, which is where the reputation for upselling comes from.
Choose it if you want a form live in ten minutes and do not need conditional logic.
3. Fluent Forms — 800,000+ active installs, 96/100
The one that made “fast form plugin” a category. It ships a single-page builder, stores entries in the free version, and does not load a separate CSS file per form. Directory data: 800,000+ active installations, 96/100 from 807 reviews, updated 16 October 2026, tested to 7.1.4, requires PHP 7.4.
Entry storage in the free tier is the feature that decides it for most businesses — you can prove an enquiry arrived even if the email did not.
Choose it if you want a modern builder and want entries stored without paying first.
4. Forminator — 600,000+ active installs, 96/100
Broadest free feature set in the list: forms, polls, quizzes and payment fields, with conditional logic included rather than gated. Directory data: 600,000+ active installations, 96/100 from 2,144 reviews, updated 27 October 2026, tested to 7.1.4.
It is heavier than Fluent Forms, and the number of modules means more settings screens than a simple contact form needs.
Choose it if you want forms plus quizzes or polls without buying three plugins.
5. Ninja Forms — 500,000+ active installs, 88/100
The most flexible of the five if you are a developer: form layouts are driven by field types you can register yourself, and the add-on architecture is unusually clean. Directory data: 500,000+ active installations, 88/100 from 1,397 reviews, updated 26 October 2026, tested to 7.1.4.
Its free version is more limited than Forminator’s, and the 88/100 reflects a long history of add-on licensing complaints rather than code quality.
Choose it if you build forms that need custom field types.
Comparison
| Plugin | Active installs | Rating | Stores entries free? | Best at |
|---|---|---|---|---|
| Contact Form 7 | 10+ million | 80/100 (2,186) | No (needs Flamingo) | Smallest footprint |
| WPForms Lite | 5+ million | 96/100 (14,387) | Limited | Beginners |
| Fluent Forms | 800,000+ | 96/100 (807) | Yes | Builder + entries |
| Forminator | 600,000+ | 96/100 (2,144) | Yes | Forms, polls, quizzes |
| Ninja Forms | 500,000+ | 88/100 (1,397) | Yes | Developer flexibility |
Fixing the deliverability problem, whichever you choose
Form emails are the most likely email your site sends and the most likely to be filtered. Three fixes, in order of effect:
- Send through an SMTP provider, not
mail(). An SMTP plugin authenticates to a real mail service, which gives the message a legitimate sending reputation. This one change fixes the majority of “form emails never arrive” reports. - Send from a domain email address that matches the site, and set the reply-to as the visitor’s address. A form sending “from” a gmail.com address on your own domain looks like spoofing.
- Set SPF, DKIM and DMARC on the sending domain. Without them, larger providers increasingly reject or quarantine automated mail outright.
Then verify the loop rather than trusting it: submit the form yourself, confirm the entry appears in the dashboard (if the plugin stores entries), and confirm the notification arrives in the inbox — not the spam folder — for the address that actually receives enquiries.
Spam: what actually works in 2026
Honeypots and time-based checks stop most bots without asking visitors to solve anything. Visible CAPTCHAs reduce submissions on mobile, and the invisible variants from Cloudflare and hCaptcha are the least intrusive compromise. A keyword-blocking rule is worth adding for the spam that gets through.
What does not work: hiding the form behind JavaScript, which bots now execute, and a single “I am not a robot” checkbox that fails accessibility audits.
Privacy and consent
A contact form collects personal data, so three things belong on the page next to the submit button: a line explaining what happens to the data, a link to the privacy policy, and a checkbox if you plan to add the person to a mailing list. If your audience is in the EU or UK, the data also has a retention question — decide how long entries are kept rather than keeping them forever by default.
Common questions
Which contact form plugin is fastest?
In practice, Contact Form 7 and Fluent Forms. CF7 because it loads almost nothing; Fluent because it does not enqueue per-form assets. The difference is small next to the cost of a page builder, but it is real.
Why does my form say it sent but no email arrives?
Because the form succeeded — the submission was processed — and the mail transport failed. Switch to SMTP and check the spam folder before touching the plugin.
Do I need a paid form plugin?
Only for conditional logic, multi-step forms, file uploads or CRM integrations. For a single contact form, the free tiers of all five above are sufficient.
Can I use more than one?
Technically yes, and you should not. Two form plugins mean two sets of styles, two spam strategies and two places to look when an enquiry goes missing.
Forms and testimonials are the two plugins most business sites actually need; the testimonial side is covered in the best WordPress testimonial plugins.