Contact Form 7 is one of those plugins almost every WordPress user runs into eventually. Maybe you need a simple contact page, maybe you are collecting leads, and the name keeps coming up. This guide covers what it actually is, what it does well, where it falls short, and whether it is the right fit for your site.
Table of Contents
What Is Contact Form 7?
Contact Form 7 is a free, open-source WordPress plugin for building and managing contact forms. It lets you create multiple forms, customize both the form fields and the notification emails using simple markup, and submit forms without reloading the page. It also supports spam filtering through reCAPTCHA and Akismet, and it accepts file uploads.
It has been around since 2007 and sits on more than five million active installations, which makes it one of the most widely used plugins in the entire WordPress directory. That longevity is the main reason it is so often the default recommendation: it is stable, predictable, and maintained by its original developer, Takayuki Miyoshi.
The trade-off, which we will get to, is that it favors flexibility and a light footprint over hand-holding. It is closer to a toolkit than a polished form builder.
What Contact Form 7 Is Actually For
You can technically just publish your email address on your site. It is a bad idea for two reasons. Bots scrape public addresses and bury you in spam, and a raw mailto link is a poor experience for visitors. A form gives people a structured, professional way to reach you and keeps your address private.
Beyond the standard “Contact Us” page, people use Contact Form 7 for newsletter signups, event RSVPs, testimonial collection, basic job applications, quote requests, and support intake. Anywhere you need to capture specific information from a visitor and route it to an inbox, it can handle the job.
How Contact Form 7 Works
You build forms using form-tags, a simple markup syntax that looks similar to HTML. You define the fields you want (name, email, message, and so on), then configure a mail template that controls exactly how a submission lands in your inbox. When someone submits, the data is sent by email using Ajax, so the page does not reload.
For a beginner, the default form works out of the box with almost no setup. For a developer, the same system exposes hooks, filters, and full control over markup, which is why it shows up on so many custom-built sites. You can start simple and go as deep as you want.
Here is the part that surprises new users: Contact Form 7 does not save submissions anywhere by default. It emails them and forgets them. If your email fails or you delete the message, the data is gone. To keep a record, you install Flamingo, a free companion plugin from the same developer that stores submissions in your WordPress dashboard. Plan for this from the start.
Key Features
- Multiple forms: Create and manage as many separate forms as your site needs, each with its own fields and mail settings.
- Flexible fields: Text, email, phone, dropdowns, checkboxes, radio buttons, date pickers, and file uploads.
- Customizable emails: Control exactly how submitted data is formatted in your notification, and send to multiple recipients.
- Ajax submission: Forms send without a page reload.
- Spam filtering: Built-in integration with Google reCAPTCHA and Akismet.
- Shortcode embedding: Drop a form into any page, post, or widget with a single shortcode.
- Extensible: A large ecosystem of free and paid add-ons covers conditional logic, database storage, styling, multi-step forms, and CRM connections.
What Contact Form 7 Does Not Do
This is where being honest matters more than being enthusiastic. Out of the box, Contact Form 7 leaves several things to you or to add-ons:
- No submission storage. As covered above, you need Flamingo to keep records.
- No spam protection by default. reCAPTCHA and Akismet are supported, but you have to set them up. A fresh form has no protection at all, and unprotected forms are a common spam magnet. A free honeypot add-on is a popular lightweight option.
- No drag-and-drop builder. You work with form-tags. It is not difficult, but it is not the visual experience that WPForms or Gravity Forms offer.
- No conditional logic natively. Showing or hiding fields based on a previous answer requires an add-on.
- No styling out of the box. Forms inherit your theme’s styling, and making them look polished usually means writing your own CSS.
- Dated interface. The admin screens have not changed much in years. Functional, not pretty.
None of these are dealbreakers. They are the reason the plugin stays lightweight and free. But you should know what you are signing up for so you are not surprised later.
Is Contact Form 7 Secure?
Reasonably, with a caveat: security with Contact Form 7 is largely your responsibility, not something handled automatically.
The plugin itself is actively maintained and patched, but it has had serious vulnerabilities in the past, including an unrestricted file upload flaw that affected forms with upload fields. That issue was patched quickly, which is exactly the point: the fix only protects sites that actually update. Running an outdated version of any popular plugin is one of the most common ways WordPress sites get compromised.
A sensible baseline:
- Keep Contact Form 7, WordPress core, and every other plugin current. This is the single most important habit.
- Enable reCAPTCHA or Akismet so your forms are not wide open to spam and abuse.
- Use HTTPS on any form that collects personal information.
- Be cautious with file upload fields, and restrict accepted file types if you use them.
Do those things and Contact Form 7 is perfectly safe for ordinary contact and lead forms. Ignore updates and any plugin becomes a liability.
Is Contact Form 7 Free?
Yes, completely. Every core feature is free with no paywall and no “upgrade to unlock” pattern. This is not freemium. You can build, manage, and run unlimited forms without paying anything.
Because it is open-source, the code is public, which encourages transparency and a steady stream of community contributions. You may pay for third-party add-ons if you want specialized features like advanced styling, database integrations, or CRM connections, but those come from other developers and are optional. The core plugin stays free.
Who Contact Form 7 Is Best For
Good fit if you:
- Want a free, reliable, no-nonsense form solution
- Care about keeping your site lightweight and avoiding bloat
- Are comfortable with a little manual configuration, or you have a developer who is
- Need basic to moderately complex forms (contact, leads, applications, RSVPs)
- Run many sites and want one consistent, predictable tool
Look elsewhere if you:
- Want a visual drag-and-drop builder with pre-made templates
- Need payment processing, surveys, quizzes, or complex multi-step forms without piecing together add-ons
- Expect conditional logic, entry storage, and polished styling to work out of the box
- Prefer paid support over community forums
If the second list describes you, a builder like WPForms or Gravity Forms is probably worth the cost.
Contact Form 7 vs the Alternatives
The main alternatives are WPForms, Gravity Forms, Ninja Forms, and Formidable Forms. They generally offer drag-and-drop builders, prebuilt templates, and advanced features like payments and multi-step logic without extra plugins. Most of them are freemium, so the features that matter often sit behind a paid tier.
Contact Form 7 competes on a different axis: it is free, light, stable, and flexible if you do not mind manual setup. It will not win on visual polish or built-in features. It wins on cost, performance, and not locking anything behind a subscription. For a straightforward form that just works, that combination is hard to beat.
How to Get Started
- In your WordPress dashboard, go to Plugins → Add New, search for “Contact Form 7,” then click Install Now and Activate.
- A new Contact item appears in your sidebar. Open it to find a default form already created.
- Edit the default form or create a new one. Adjust fields using form-tags and customize the mail template that gets sent on submission.
- Save the form and copy the shortcode it generates, which looks like
[contact-form-7 id="123" title="Contact form 1"]. - Paste that shortcode into any page or post, and your form is live.
- Install Flamingo if you want submissions saved, and set up reCAPTCHA or Akismet before you go live.
That last step is the one most people skip and later regret.
The Verdict
If you need to add a form to a WordPress site and you do not require a visual builder or heavy built-in features, Contact Form 7 is an excellent choice and often the right one. It is free, lightweight, stable, and flexible enough to grow with you.
It is not the most polished or beginner-friendly option, and it expects you to handle storage, spam protection, and styling yourself or through add-ons. Go in knowing that, set it up properly, and it will quietly do its job for years. For a large share of WordPress sites, that is exactly what is needed.
FAQs
Is Contact Form 7 free?
Is Contact Form 7 lightweight?
Is Contact Form 7 good for beginners?
Does Contact Form 7 store form submissions?
Is Contact Form 7 secure enough for contact forms?
How do I keep Contact Form 7 secure?
How often is Contact Form 7 updated?
Does Contact Form 7 support multiple languages?
Is there community support for Contact Form 7?
Related Articles
Published on: 2022-09-14
Updated on: 2026-06-14