Skip to content
Plugin PantryPlugins

Notes / Pantry Contact

Pantry Contact compared with Contact Form 7, WPForms Lite, Ninja Forms and Fluent Forms

How Pantry Contact's single form compares with Contact Form 7, WPForms Lite, Ninja Forms and Fluent Forms, and when one of them fits better.

12 September 2026 / 2,197 words

A contact form plugin does one job: put a form on a page, send the message to the site owner, and keep spam out of the inbox it lands in.

That job is usually handled by one of a few very large form-builder plugins, each built to make almost any kind of form, not only a contact form. That flexibility has a cost: settings built for surveys and multi-step wizards sitting between a site owner and a form with five fields, and, on more than one of these plugins, things a contact form is assumed to already do, keep a copy of what was sent, filter obvious spam, held back until a paid tier is added or a second plugin is installed.

This article compares Pantry Contact with the four plugins most people install for this job: Contact Form 7, WPForms Lite, Fluent Forms and Ninja Forms. The comparison is not one-sided. A site that needs more than one form, a custom field, a file upload or a CRM connection is better off with one of the four, and this article says so plainly.

The plugins most people install

Contact Form 7 has 10+ million active installations, the largest of any WordPress contact plugin, and is tested up to WordPress 7.1. It is built by Rock Lobster Inc, Takayuki Miyoshi's company. There is no paid tier: the plugin's own listing makes no mention of a Pro version or a licence. By its own description it does not store submitted messages and includes no spam filtering of its own; both are handled by companion plugins added separately, Flamingo for storage, Akismet or reCAPTCHA for spam.

WPForms Lite has 5+ million active installations and is tested up to WordPress 7.1. It is built by the WPForms team, part of Syed Balkhi's group of WordPress plugins. The free version is a drag-and-drop builder with entry storage, notification emails and spam protection built in, plus a template library its own listing puts at more than 2,100 layouts. WPForms Pro, sold separately from $39.60 a year for one site, adds multi-page forms, file uploads, conditional logic and further payment and marketing integrations; the plugin's own listing names these as what separates Lite from Pro.

Fluent Forms has 700,000+ active installations and is tested up to WordPress 7.1. It is built by WPManageNinja, the company behind Fluent Forms, Fluent Support and FluentCRM. The free version includes more than 25 field types, entry storage, spam protection through reCAPTCHA and hCaptcha, export to CSV, Excel, ODS and JSON, and Stripe payments, though every payment taken through the free plugin carries a 1.9 percent fee. Paid plans, from $63 a year for one site, remove that fee and raise the field count past 55.

Ninja Forms has 600,000+ active installations and is tested up to WordPress 7.1. It is built by WP Ninjas LLC. The free Core plugin allows unlimited forms and submissions, more than two dozen field types, built-in spam protection through reCAPTCHA and Akismet, CSV export and GDPR tools. Conditional logic, file uploads, multi-step forms and every payment or CRM integration sit behind more than 40 paid add-ons, from $59.40 a year for Plus and rising to $299.40 a year for Elite, which unlocks all of them.

Where the big plugins cost you

Contact Form 7's cost is what is missing rather than what is bundled. A form built and published still keeps no record of what was sent unless Flamingo, a separate plugin with 800,000+ active installations from the same author, is installed alongside it; Flamingo's own listing describes Contact Form 7 plainly as a plugin that "doesn't store submitted messages." Spam filtering is the same: nothing runs until Akismet or a reCAPTCHA account is added, and the listing notes these optional integrations may send visitor data, including IP addresses, to the third party behind them. A site owner who wants what most people assume a contact form already does is assembling two extra plugins and a Google account.

WPForms Lite's cost is the same list repeated at every price point above it. Its own pricing page names multi-page forms, file uploads, conditional logic, extra payment integrations, coupon codes and a long list of automation and CRM connections as Pro-only, across four tiers from $39.60 to $239.60 a year. A site that needs any single one of those is buying a tier built around all of them.

Ninja Forms uses add-ons rather than tiers for the same gating. Conditional logic and file uploads, features many sites assume a form builder already has, sit on the far side of the Plus bundle; reaching every payment gateway and CRM connection advertised means Elite, at $299.40 a year.

Fluent Forms puts the meter on the transaction: its own listing states the free plugin's built-in Stripe payments carry a 1.9 percent fee, which the $63-a-year licence removes. A form taking payment for a class or a small shop pays that fee until the licence is bought.

None of the four is badly built for the bigger job it aims at; each is actively maintained and current with the "Tested up to" version checked for this article. The cost is scope: three are complete form-building platforms with a paid layer above the free plugin, and the fourth, Contact Form 7, assumes storage and spam filtering will be added by hand. A site that only wants one form and a record of what it sent pays for width it did not ask for.

What Pantry Contact does instead

Pantry Contact's scope is one form with a fixed set of fields: name, email, phone, subject, message and a consent checkbox. Each of the five optional fields can be switched on, made required and relabelled from the settings screen; email is always shown and required, because it doubles as the Reply-To address on the notification email, so a reply can be sent straight from an inbox. The form is placed with the shortcode [pantry_contact_form] or a block that renders on the server, with no separate build step.

Four checks run before anything is stored: a nonce, a honeypot field a visitor never sees but a bot tends to fill in, a signed timing check, and a rate limit of five messages an hour per address by default. The timing check is a timestamp placed in the form when it renders and signed with wp_hash(), so a submission can be checked without WordPress remembering anything about that page view; a message that comes back before the minimum fill-in time, or more than a day later, is rejected. None of the four checks is a CAPTCHA, and none makes a request to an outside service.

Measured on the release zip: 31 KB and 2,256 lines of PHP, more than the Standard's 1,500-line aim, for a written reason in the plugin's own README. A contact form is four surfaces rather than one: settings, the form, the submission handler with its spam checks, and the entries screen with its list table and CSV export. Cutting any of them would cut something already published in what the plugin does. Two options hold everything, with no custom database tables. Entries are an ordinary pantry_entry post with six meta keys, and the only transient is the hourly rate-limit counter, keyed to a hash of the sender's address. Admin assets load only on the settings screen and the block editor; front-end assets load only on pages that show the form, and only when switched on. There are no external requests.

The plugin carries the rest of the Pantry Standard by default: no admin notices of its own beyond the settings-saved message, no tracking, nothing that needs a licence to keep working, and a published list of what it will never do. Two decisions are worth explaining. The visitor's IP address is never stored in full: the last block of an IPv4 address is zeroed and the tail of an IPv6 address replaced before it reaches the entry or the notification email, so a genuine need to trace abuse still has something to work with. And an entry cannot be created from the admin screens at all, only from the form, which keeps the entries list an honest record of what was actually sent.

What it does not do, and who should stay with the big plugin

The list of what Pantry Contact does not do starts with no second form: one plugin, one form, one fixed set of fields. A site that needs more than a contact form, a booking form, an event registration, a multi-step quote request, needs a plugin built to hold more than one form. WPForms Lite, Fluent Forms and Ninja Forms all support unlimited forms for free.

There is no field builder and no custom field: the six fields are fixed. Their labels can be changed, but no field can be added and no validation extended. A site that needs a dropdown, a date picker or anything else outside that list needs a plugin with a real field library; Fluent Forms and Ninja Forms both offer more than two dozen field types for free.

There are no file uploads in the free plugin. They are on the planned Pro add-on, which does not exist yet, so a site that needs to accept documents today should not wait. WPForms Pro, Ninja Forms with the right add-on, and Fluent Forms all handle attachments now.

There are no third-party integrations: no Mailchimp, no CRM, no Zapier, no webhook. A site whose enquiries need to land somewhere other than an inbox is better served by Fluent Forms or Ninja Forms, both of which connect to a long list of these for free, or by WPForms with its Pro-tier automation connections.

There is no CAPTCHA in the free plugin: the honeypot, timing check and rate limit are the whole of its spam defence, because a visible challenge is a cost the free plugin will not put in front of every visitor. Cloudflare Turnstile is on the planned Pro add-on. A site already fighting spam that gets past those checks needs a visible challenge; WPForms, Fluent Forms and Ninja Forms all offer reCAPTCHA, hCaptcha or a similar check free, and Contact Form 7 supports reCAPTCHA as an optional integration.

Moving over

Coming from Contact Form 7, the mapping is straightforward because Pantry Contact's fields are fixed rather than freeform: a name field maps to name, an email field to email, and so on. The shortcode changes from whatever tag the old form used to [pantry_contact_form]. Messages Contact Form 7 itself never stored are not something to migrate; a site running Flamingo alongside it should export what Flamingo holds first, since Pantry Contact has no way to read Flamingo's data.

Coming from WPForms, Fluent Forms or Ninja Forms, only the parts of the form that fit Pantry Contact's fixed set carry across, and only by re-creating them: none of the three stores entries in a format Pantry Contact reads, so existing submissions stay where they are unless exported first, using the CSV export each of the three offers from its own entries screen. Any field outside the fixed set, a dropdown, a file upload, a second form, has nowhere to go and needs a decision rather than a migration: drop it, or keep the wider plugin for that one form.

Notification recipients, the subject line and the success message are settings, not data, so they are re-typed into Pantry Contact's settings screen. Spam settings do not carry over either, because the mechanism is different: a reCAPTCHA site key from the old plugin does nothing here, and Pantry Contact's minimum fill-in time and messages-per-hour limit start again at their defaults.

In practice: keep the old plugin active until the new form is placed and tested, add the shortcode or block to the page, confirm the notification email arrives with the sender's address as Reply-To, and only then deactivate the old plugin. Its own uninstall routine, not Pantry Contact's, clears out whatever entries, tables or options it created.

The short version

Pantry Contact puts one form on a page, keeps a copy of what it is sent, and stops the obvious spam without a CAPTCHA. It does not build a second form, take a file, or talk to a CRM or a mailing list, and none of that is a gap waiting on a future release: it is the scope the plugin was built to. For a site that wants exactly that and nothing else to configure, this is the whole requirement. For a site building more than a contact form, or already fighting spam that gets past a honeypot, Contact Form 7, WPForms Lite, Fluent Forms and Ninja Forms each cover more ground, at the cost this article has set out.

Measure Pantry Contact
Zip size 31KB
Lines of PHP 2,256
Options 2 (settings, version marker)
Custom tables 0
Front-end assets form.css and form.js, only on pages that show the form
External requests none
Tracking none
Locked features none

Sources

The plugin