Best Contact Form 7 Database Plugins (2026)

Contact Form 7 does not save submissions. It emails them to you and forgets them, so to keep a copy in your WordPress database you need a second plugin. For most sites that is Flamingo: free, written by Contact Form 7’s own author, nothing to set up. Pick CFDB7 if you want a plain table with a CSV button, Contact Form Entries or Form Vibes if the site also runs other form plugins, and a tool with stages and owners if your enquiries are leads that a team has to chase.
One rule applies to every option below: a storage plugin only keeps what arrives after you activate it. Nothing recovers submissions that were never written anywhere, so install one before you need it, not after the mail server has a bad week.
How we checked: every plugin here was looked up through the wordpress.org plugin API on 10 October 2026, and the version, last-updated date, active installs and feature claims below come from that listing and nothing else. We have run Flamingo, Contact Form Entries and our own EntryVault on our own test site earlier this year. The others are described from their listings, and we say so where it matters. Install figures are the rounded bands wordpress.org shows, not exact counts. Plugins that have been closed on wordpress.org are listed separately at the end.
Quick comparison
As of October 2026. “Builders” means which form plugins it stores entries from. “Paid tier” only says whether the listing mentions one; we do not quote competitor prices we have not checked.
| Plugin | Version, last updated | Active installs | Builders | What you get | Paid tier |
|---|---|---|---|---|---|
| Flamingo | 2.6.4, 18 Aug 2026 | 800,000+ | Contact Form 7 | Searchable message log, address book, CSV export | None, fully free |
| CFDB7 (Database Addon for Contact Form 7) | 1.4.2, 9 Oct 2026 | 600,000+ | Contact Form 7 | One table for all forms, CSV export | Separate Pro add-ons |
| CF7 Apps (Database Entries app) | 3.8.0, 29 Sep 2026 | 300,000+ | Contact Form 7 | Entries plus honeypot, hCaptcha, redirects, webhooks, CSV by form or date range | Not stated on the listing |
| Contact Form Entries (CRM Perks) | 1.5.5, 6 Sep 2026 | 60,000+ | CF7, WPForms, Elementor Forms, CRM Perks Forms | Table with search, date filter, read/unread, stars, notes, CSV | Premium add-ons |
| Form Vibes | 1.5.3, 8 Jul 2026 | 10,000+ | CF7 plus eight others | Table, custom date range, CSV, charts, event log | Pro |
| Database for Contact Form 7 (NinjaTeam) | 3.0.9, 23 Aug 2026 | 7,000+ | Contact Form 7 | Editable entries, column picker, CSV | Pro |
| CF7 Submissions (Codexpert) | 0.27, 15 Apr 2026 | 2,000+ | Contact Form 7 | Stored entries and attachments, read/unread, reply from the dashboard | Not stated on the listing |
| EntryVault (ours) | 1.9.3, 9 Oct 2026 | n/a, direct download | CF7 plus 16 others | Kanban lead board, owners, tags, notes, email from the card, CSV | Pro from $79/yr (1 site) or $319 once |
The no-plugin option: Contact Form 7 mail only
Plenty of sites run plain Contact Form 7 for years and never miss anything. That is a legitimate choice, and it is worth being clear about when it holds up.
Mail-only is fine when your inbox is the record you actually use, volume is low enough that you read every message, and your mail delivery is set up properly (an SMTP plugin, SPF and DKIM on your domain). It also has one real advantage people forget: nothing personal sits in your WordPress database, so there is one less place to secure, back up and clean out later.
The weakness is simple and it is total. If the email does not arrive, the submission is gone. A wrong SMTP password, a full mailbox or a spam filter that eats the notification, and the enquiry never existed as far as you are concerned. We cover the mechanics in does Contact Form 7 store data?, and the answer is still no.
One workaround people try is turning on CF7’s second mail template (Mail (2)) and sending a copy to another address. It helps if one inbox is unreliable. It does nothing if the problem is the mail path itself, because both messages leave through the same route. If your contact form brings in money, a database copy is cheap insurance.
The plugins, one by one
1. Flamingo: the default, and usually enough
Flamingo is by Rock Lobster Inc., the developer behind Contact Form 7 itself. Its own description calls it “a message storage plugin originally created for Contact Form 7, which doesn’t store submitted messages”, and that is exactly what it is. Contact Form 7 already ships the code that hands submissions to Flamingo, so you install it and you are done. No settings, no per-form mapping.
Messages land under Flamingo > Inbound Messages, with a channel per form, a month filter, search, and an Export button that respects whatever you filtered. There is also an address book of senders. Spam that CF7 catches is kept in its own view rather than thrown away, which matters the day a real customer gets flagged.
Where it stops: it only sees Contact Form 7, dates filter by whole month rather than a range, and messages have no status, owner or stage. It is a log, on purpose. Our step-by-step setup is in save Contact Form 7 submissions to the database.
Best for: anyone who just wants a copy of every message, for free, from the people who make the form.
2. CFDB7: a simple table with a CSV button
CFDB7 (listed as “Database Addon for Contact Form 7”, by Arshid / CipherCoin) is the other big name, with 600,000+ active installs and an update the day before we checked. The listing promises no configuration, a single database table for all CF7 forms, a list of your forms, and CSV export. That is the whole free pitch and it is a sensible one.
The paid side is a set of separate add-ons rather than one Pro plugin. The listing names scheduled CSV export, a separate MySQL column per field, Excel export, PDF export, CSV import and a duplicate-submission check. We have not bought or tested any of them.
Compared with Flamingo, the choice mostly comes down to which screen you prefer. Flamingo is a WordPress post-style list with channels; CFDB7 is a per-form table. Neither does follow-up.
Best for: people who think in spreadsheet rows and want a CSV per form without learning anything.
3. CF7 Apps: storage bundled with spam protection
CF7 Apps (by Saad Iqbal, 300,000+ installs) started life as the CF7 honeypot plugin, and its slug still says so. It is now a toolbox: honeypot, hCaptcha, a Database Entries app, CSV export, weekly summary emails, redirects, webhooks and more, all in one plugin.
The entries part, per the listing, stores every CF7 submission, filters by form or date, and exports CSV filtered by form or date range. It also says entries are kept “even if emails fail to deliver”.
The case for it is consolidation. If you were going to install a honeypot plugin and a redirect plugin anyway, one plugin is tidier than three. The case against is the same thing in reverse: you are taking on a lot of features to get one. If spam is the actual reason you are here, our guide to stopping WordPress form spam walks through the cheaper layers first.
Best for: CF7 sites that need spam protection and storage and would rather manage one plugin.
4. Contact Form Entries (CRM Perks): more than one form plugin, still free
Its wordpress.org name is “Database for Contact Form 7, WPforms, Elementor forms”, which tells you the main point. It stores entries from Contact Form 7, WPForms, Elementor Forms and CRM Perks’ own form builder in one place. We ran version 1.5.5 on our test site in July and it captured every CF7 submission we sent.
The free version is a standard WordPress list table with search by field, a date filter, read and unread, stars, colour-coded notes on each entry, printing, a front-end table and CSV export. It is the only plugin here whose listing spells out privacy controls: you can stop it storing IP address, browser and similar details, and it plugs into WordPress’s own Export Personal Data and Erase Personal Data tools.
Paid add-ons are mostly CRM connectors (the listing names Klaviyo, Google Sheets, Freshdesk, Pardot and more). Notes and stars help a team a bit, but there are no stages or owners.
Best for: a site running CF7 next to WPForms or Elementor Forms, and anyone who needs GDPR erase requests to reach form entries without manual digging.
5. Form Vibes: many builders, with charts
Form Vibes (by WPVibes, 10,000+ installs) captures Contact Form 7, Elementor Pro Forms, WPForms, Gravity Forms, Ninja Forms, WS Form, Bricks, Beaver Builder and Everest Forms, per its listing. Free features include a sortable table, filters by day, week, month or any custom date range, CSV export, graphical reports, and an event log of edits and exports with a username on each. Google Sheets sync and inline editing are Pro.
Two things to check before you install. Its listing says it needs PHP 8.0 or newer, which most hosts are past but some are not. And its last update was July 2026, older than the rest of this list, though comfortably inside our twelve-month cut-off.
Best for: a mixed-builder site that wants a real date-range filter and some reporting, without paying.
6. Database for Contact Form 7 (NinjaTeam)
A smaller one, 7,000+ installs, updated in August. The listing adds a Database menu under CF7’s Contact menu, where you can edit an entry’s details, bulk delete, drag columns into order, hide columns and export everything or a single column to CSV. It records IP and timestamps.
One line on the listing is worth reading twice: “Automatically record data from multiple forms (Pro)”. We have not tested the free version, so we cannot tell you exactly where that line falls. If you run several CF7 forms, check it on a staging site before relying on it.
Best for: people who want to edit stored entries and shape the columns, on a single-form site.
7. CF7 Submissions (Codexpert)
The smallest and the newest-looking version number, 0.27, with 2,000+ installs and an update in April 2026. Its listing focuses on two things the others skim over: it stores uploaded files alongside each submission, and it lets you reply to the sender from the dashboard. There is also read and unread status, search by form, page or user, and bulk actions.
The attachment point is the interesting one. Contact Form 7 attaches uploaded files to the notification email and does not keep them on the server afterwards, so with most setups the email is the only copy of that CV or photo. If you are weighing a move to a form builder that stores files natively instead, getting them out again later is its own job, as our piece on exporting Gravity Forms file uploads shows.
The caution: at the time we checked, the listing said tested up to WordPress 6.9.10, while every other plugin here said 7.1.3. That does not mean it is broken. It does mean nobody has told wordpress.org it was checked against the current release.
Best for: forms that collect files you cannot afford to lose with the email.
8. EntryVault: when submissions are leads, not just records
Full disclosure: we make EntryVault, so weigh this section with that in mind. It is a different kind of tool from the seven above, and it is only the right pick if that difference is what you need.
The free core captures Contact Form 7 through CF7’s own wpcf7_before_send_mail hook, so the entry is written before the notification email is even attempted, and a failed email does not lose it. The same free build captures sixteen other builders too: WPForms, Gravity Forms, Fluent Forms, Formidable, Forminator, Ninja Forms, WS Form, Everest Forms, SureForms, Trinity Forms, Jetpack Forms, MetForm, Kadence Forms, Otter Forms, Spectra Forms and Elementor Pro forms.
What makes it different is what happens after capture. Entries become cards on a Kanban board you move from New to Contacted to Won. Each one can have an owner, tags, internal notes and a timeline, and you can email the sender from the card. There is also a filterable submissions list with CSV export, and that export is in the free version. It is closer to a small lead pipeline than a storage table.
Pro (from $79 a year for one site, or $319 once) adds automations, historical backfill of past entries from the builders that keep them, an approval workflow, and scheduled CSV or Excel exports by email.
The limits, plainly. It is free core from jnkplugins.com, not a one-click directory install. It ignores submissions that Contact Form 7 itself marks as spam, so unlike Flamingo it keeps no spam folder to rescue false positives from. It does not hook into WordPress’s personal-data export and erase tools, and there is no automatic retention purge, so GDPR deletions are done by hand. And if you only want a plain message log, Flamingo is simpler and you should use it. We compare the two properly in EntryVault vs Flamingo.
Best for: sites where a contact form feeds a sales or support queue that more than one person works through.
Plugins you will see recommended that you cannot install
Older roundups still list these. All three show as closed on wordpress.org when we checked.
- Advanced Contact form 7 DB (now named “Vsourz Form Entries for Contact Form 7”, slug
advanced-cf7-db): closed on 2 September 2026. The notice says the closure is temporary, pending a full review, with no reason given. We have been on the receiving end of one of those ourselves, so we would not read anything sinister into it. It just means you cannot install it from the directory right now. - Contact Form Submissions: closed on 31 March 2022, reason given as a security issue. Treat it as abandoned. If it is still active on a site you look after, replace it.
- Contact Form DB (the original “CFDB”, slug
contact-form-7-to-database-extension): closed on 28 November 2017. Easy to confuse with CFDB7, which is a different, current plugin.
Test the failed-email case yourself
Most of these listings promise you will never lose a lead to a mail problem. Only a few explain how. Flamingo is called by CF7 with an explicit list of results it saves on, which includes a failed send. EntryVault writes before the send. For the rest, it takes five minutes to check on a staging copy:
- Install the storage plugin and send one normal test submission. Confirm it appears.
- Break mail on purpose: put a wrong password into your SMTP plugin, or point it at a host that does not exist.
- Submit again. CF7 will show its “error trying to send your message” notice.
- Check the plugin’s entries screen. If the second submission is there, you are covered. If not, that plugin only saves after a successful send, and it will not save you on the bad day.
- While you are there, submit something your spam filter blocks, and see where (or whether) it shows up.
Do this on staging, not your live site, and put the SMTP settings back when you are done.
Which one should you pick?
Start from what you will actually do with the entries, not the feature list. A well-built contact page earns the message; the storage plugin just makes sure it survives.
You just want a copy of each message
Flamingo. It is free, has no paid tier to nag you, comes from CF7’s author, and keeps spam separately. If you prefer a per-form table, CFDB7 does the same job with a different screen. Either one beats mail-only.
You need CSV exports
Every plugin in the table exports CSV, so the real question is how precisely you can slice it first. Flamingo filters by form and whole month. CF7 Apps and Form Vibes advertise date-range filtering on export, and so does EntryVault. If exports are timing out on a big archive, our guide to exporting Contact Form 7 entries to CSV covers month-by-month slicing and a WP-CLI route.
A team has to follow up on leads
A log tells you what came in. It does not tell you who is handling it, or what nobody has touched for a week. Contact Form Entries gets you notes, stars and read status, which is fine for one person. Once two or more people share the work, you want owners and stages, which is where EntryVault sits. If you find yourself bolting a third or fourth add-on onto CF7 to get there, it may also be time to read Gravity Forms vs Contact Form 7 and ask whether a different form builder is the cheaper fix.
GDPR and retention
Storing submissions means storing personal data in your database, and Flamingo’s own listing says so in its privacy notice. That is not a reason to avoid storage. It is a reason to decide how long you keep it and how you answer a deletion request.
- If you want WordPress’s built-in Export and Erase Personal Data tools to reach form entries, Contact Form Entries is the one whose listing says it does this, and it lets you turn off storing IP and browser details.
- For the others, check the plugin yourself or plan to delete by hand. None of the listings we read describe an automatic retention period. EntryVault does not have one either; you delete entries yourself, which bulk delete makes quick.
- If you would rather not hold the data at all, mail-only is the smallest footprint, at the cost described above.
Whatever you pick, write a retention period into your privacy policy and put a reminder in the calendar to clear old entries. Our guide to GDPR and WordPress forms covers consent wording, lawful basis and what to tell people on the form itself.
Your site runs more than one form plugin
Contact Form Entries (four builders), Form Vibes (nine) or EntryVault (seventeen). Check that every builder you use is on the plugin’s list before installing. Flamingo, CFDB7, CF7 Apps, NinjaTeam’s plugin and CF7 Submissions are all CF7-only.
Your forms collect files
CF7 Submissions is the one whose listing makes file storage the headline. Test it with a real upload on staging first, given the older “tested up to” version.
A note on running two at once
These plugins mostly do not conflict, because each one listens to CF7 on its own. Running Flamingo as a permanent safety net next to whatever else you try is a reasonable habit: if the other plugin turns out not to suit you, you have lost nothing. The cost is two copies of the same personal data, so if you do this for long, include both in your clean-up routine. And whichever you settle on, send a test submission after every Contact Form 7 update, because a storage plugin that quietly stopped capturing looks exactly like a quiet week.
Frequently asked questions
What is the best free plugin to save Contact Form 7 submissions?
For most sites, Flamingo. It is free with no paid tier, it is made by the developer behind Contact Form 7, CF7 already includes the code that hands it each submission, and it keeps a searchable log with CSV export. CFDB7 is the main alternative if you prefer a simple per-form table.
Do Contact Form 7 database plugins keep entries if the email fails?
The good ones do. Flamingo saves on a failed send, and EntryVault writes the entry before the email is attempted. Not every listing explains how it captures, so test it on a staging site: break your SMTP settings, submit the form, and check the entry was still stored.
Can I recover Contact Form 7 submissions from before I installed a database plugin?
No. Contact Form 7 never wrote them to the database, so there is nothing for any plugin to recover. The only copies are the notification emails, if they were delivered and you still have them. Install a storage plugin now so the next submission is kept.