Contact Form 7 has over 5 million active installs and works reliably for basic contact forms, but it stores no submissions and requires shortcodes. Giraforms is 100% Gutenberg-native, stores all submissions in your WordPress database, and includes multi-layer spam protection out of the box — making it the better choice for modern WordPress sites that use the block editor.
Choosing a WordPress form plugin in 2025 shouldn't be complicated — but the number of options makes it harder than it needs to be. Contact Form 7 has been the default answer for over a decade. Giraforms is the newer, block-native alternative. This comparison covers everything you need to make a confident decision: architecture, features, spam protection, extensibility, and pricing.
Contact Form 7 has over 5 million active installations, making it the most installed form plugin in the WordPress repository (WordPress.org, 2025).
What is Contact Form 7?
Contact Form 7 (CF7) is a free WordPress plugin first released in 2009 by Takayuki Miyoshi. For over fifteen years it has been the go-to option for anyone who needs a simple contact form, and its install count reflects that longevity: more than 5 million active WordPress sites run it today.
The plugin's core architecture is shortcode-based. You build your form inside a dedicated CF7 admin panel using a custom markup language, copy the generated shortcode (e.g., [contact-form-7 id="123"]), and paste it into a page or post. In the block editor, you would add a Shortcode block and paste it there. There is no live preview — you must visit the published page to see how the form actually looks.
One critical limitation: Contact Form 7 does not store form submissions in your WordPress database by default. When someone submits your form, an email is sent to your configured address — and that's it. If the email ends up in your spam folder or your hosting provider's mail server has a delivery issue, the submission is lost permanently. To add submission storage you need to install a separate companion plugin called Flamingo, also by the same author.
Despite these limitations, CF7 remains a solid, lightweight option for sites that just need email-forwarding contact functionality. It's actively maintained, well-documented, and has zero upsell pressure — the plugin is completely free with no paid tier.
What is Giraforms?
Giraforms is a WordPress form builder built from the ground up for the Gutenberg block editor. Instead of shortcodes and a separate admin panel, every form element is a native WordPress block — you add fields, configure settings, and see a live preview all within the same editor you use to write your page content.
The free tier includes 18+ field types (text, email, phone, number, select, radio, checkbox, date, time, file upload, rating, signature, and more), built-in submission storage with no additional plugin required, multi-layer spam protection (honeypot, submission speed check, IP-based rate limiting), email notifications with customizable templates, and export to CSV. The Pro version ($39/year) adds multi-step forms, conditional logic, Stripe payments, a booking system, Brevo and Mailchimp integrations, and advanced analytics.
Because Giraforms stores every submission automatically, you always have a backup of your data regardless of email delivery issues. You can view, search, and export submissions directly from WP Admin without installing any additional plugin.
Giraforms vs Contact Form 7: Feature Comparison
Here is a comprehensive side-by-side comparison covering the features most WordPress site owners care about:
| Feature | Giraforms | Contact Form 7 |
|---|---|---|
| Gutenberg / block editor | ✓ Native blocks | ✗ Shortcode only |
| Submission storage | ✓ Built-in, free | ✗ Needs Flamingo plugin |
| Email notifications | ✓ Yes | ✓ Yes |
| Spam protection (built-in) | ✓ Honeypot + rate limit + speed check | ~ Basic only |
| CAPTCHA support | ✓ Turnstile, reCAPTCHA v2/v3, hCaptcha | ~ reCAPTCHA only |
| File uploads | ✓ Free | ✓ Free |
| Conditional logic | ~ Pro only | ✗ No |
| Multi-step forms | ~ Pro only | ✗ No |
| Stripe payments | ~ Pro only | ✗ No |
| Booking system | ~ Pro only | ✗ No |
| Analytics / statistics | ~ Pro only | ✗ No |
| Export to CSV | ✓ Free | ✗ No |
| Form templates | ✓ 10 templates | ✗ No |
| Free version | ✓ Yes | ✓ Yes |
| Pro version | ~ From $39/year | ✗ No |
When should you choose Contact Form 7?
Contact Form 7 is still a reasonable choice in specific situations. If you already have it installed and your forms are working correctly, there's no urgent reason to switch — "if it ain't broke" applies here. The migration effort (recreating forms, replacing shortcodes) may not be worth the benefit for a small site that rarely changes its contact form.
CF7 also makes sense if you're running a Classic Editor site with no plans to migrate to Gutenberg. In that context, Giraforms' main advantage — native block integration — doesn't apply. Similarly, if your requirements are strictly limited to sending an email when someone fills in a form and nothing more, CF7's simplicity is a feature, not a limitation.
Choose CF7 if: your site uses the Classic Editor, you only need basic email-forwarding contact functionality, you're already running it without issues, or you want a zero-configuration free solution with no upsell.
When should you choose Giraforms?
Giraforms is the better choice for any WordPress site actively using the Gutenberg block editor — which, since WordPress 5.0, is the default for all new installs. If you're building pages with blocks, you want your forms to behave like blocks too: editable inline, previewable in real time, and styled consistently with your theme.
Submission storage is a strong reason on its own. Losing form entries because of an email delivery problem is a real risk with any email-only form plugin. With Giraforms, every entry is in your database whether or not the notification email arrives. For business-critical forms — lead generation, client inquiries, service requests — this alone justifies the switch.
Choose Giraforms if: you use the Gutenberg block editor, you need submission storage, you want built-in spam protection without extra plugins, you plan to expand to multi-step forms or payments in the future, or you want a modern development trajectory (the plugin is actively adding features that CF7 has never offered).
Can you migrate from Contact Form 7 to Giraforms?
Yes, and it's simpler than you might expect. Because CF7 doesn't store submissions by default, there's no data to migrate. You simply recreate your forms in Giraforms and replace the CF7 shortcode blocks on your pages with Giraforms Form Container blocks. The process typically takes 5–15 minutes per form depending on complexity.
- Install Giraforms (free)
Go to WP Admin > Plugins > Add New and search for "Giraforms". Install and activate. Both plugins can run simultaneously — no conflict.
- Recreate your forms
Open a new page or post, insert the Form Container block, and add the same fields your CF7 form had. Use a Giraforms template as a starting point if the structure matches.
- Configure email notifications
In the block settings panel, set up your email notification (recipient, subject, reply-to). Test by submitting the form from the front end.
- Replace the shortcode block on your pages
Open each page that uses a CF7 form. Remove the Shortcode block and add the Giraforms Form Container block in its place. Publish.
- Deactivate Contact Form 7 (optional)
Once all forms are migrated and tested, you can deactivate and delete CF7. Giraforms does not depend on it.
Tip: Giraforms and Contact Form 7 can run simultaneously on the same WordPress site without any conflicts. You can migrate your forms one by one, gradually, without taking anything offline during the transition.
Ready to try Giraforms? Download it free from WordPress.org and see how it compares in your own environment. You can also check the getting started guide to be up and running in minutes.