Tidy Contact Form — Free WordPress Contact Form Plugin
The lightest WordPress contact form plugin — a free contact form under 50 KB with 5 templates, triple anti-spam, SMTP, webhooks, and mailing list integrations. The lightest contact form for WordPress.
Features
How it works
Free WordPress contact form plugin under 50 KB — the lightest contact form for WordPress. 5 templates, Gutenberg block, reCAPTCHA v3 / Turnstile, honeypot + time-check + rate limiting, SMTP, message storage with dashboard widget, webhooks (Slack, Discord), mailing list integrations, CSV export, dark mode. Zero frontend JS. 100% free contact form.
Gutenberg Block + Shortcode
Drop a contact form anywhere with the block editor (includes template picker in sidebar) or use the [easy_contact_form] shortcode with attributes.
5 Form Templates
Default, Minimal, Card, Inline (2-column), and Dark. Set a default globally or override per form.
Triple Anti-Spam
Three-layer spam protection: invisible honeypot field, time-based check (rejects sub-2-second submissions), and IP rate limiting. No CAPTCHAs needed.
reCAPTCHA v3 & Turnstile
Optional Google reCAPTCHA v3 (invisible) or Cloudflare Turnstile for additional protection. Privacy-friendly alternatives to traditional CAPTCHAs.
Built-in SMTP
Configure SMTP host, port, encryption, and credentials directly in the plugin. Admin notification + optional auto-reply to sender.
Message Storage & Dashboard
All submissions saved as a Custom Post Type. Unread badge in admin menu, dashboard widget with stats and recent messages.
CSV Export & Auto-Purge
One-click CSV download from the messages list. Auto-purge deletes messages older than X days to keep your database clean.
Webhooks
Send submissions to Zapier, Make, n8n, or paste a Slack/Discord incoming webhook URL for instant notifications.
Mailing List Integrations
Subscribe form submitters to MailerLite, Brevo, ConvertKit, or SendGrid directly from the settings.
Dark Mode
Automatically adapts to the user's system preference via CSS custom properties. All 5 templates supported.
Works Without JavaScript
Progressive enhancement: the form submits via admin-post.php as standard HTML POST when JS is unavailable.
Import/Export Settings
Transfer your complete configuration between sites as a JSON file.
How we compare
See how Tidy Contact Form — Free WordPress Contact Form Plugin stacks up against the competition.
| Feature | Tidy Contact Form | Contact Form 7 | WPForms Lite | Fluent Forms |
|---|---|---|---|---|
| Gutenberg block | ||||
| Form templates | 5 templates | 1 template | 70+ templates | |
| Message storage | ||||
| Dashboard widget | ||||
| Webhooks (Slack, Discord) | ||||
| Mailing list integrations | Pro | |||
| SMTP built-in | ||||
| reCAPTCHA / Turnstile | ||||
| Anti-spam triple layer | ||||
| CSV export | ||||
| Dark mode | ||||
| Works without JS | ||||
| Import/Export settings | ||||
| Starting price | Free (100%) | Free | $49/year | $59/year |
See it in action
Frequently Asked Questions
Does it include spam protection?
Yes. Built-in honeypot field and optional math captcha support block spam without annoying your visitors. No external services or API keys required — everything runs locally on your server.
Can I customize the form fields?
Yes. Add text, email, textarea, select, and checkbox fields via the block editor settings. Each field supports custom labels, placeholders, and required validation.
Does it store messages?
Yes. All submissions are saved in the WordPress database and viewable in the admin panel. Even if email delivery fails, you never lose a message.
Can I receive submissions via email?
Yes. Configure SMTP or use WordPress default wp_mail. You can set custom recipient addresses and email subjects. Webhook support also lets you send submissions to Zapier, Make, or any external service.
Is it GDPR compliant?
Yes. Add a consent checkbox and configure data retention policies. Messages are stored locally in your WordPress database — no data is sent to external servers.
Does it work without JavaScript?
Yes. The form uses progressive enhancement: when JavaScript is unavailable, it submits via admin-post.php as a standard HTML POST. Core functionality works in any browser.
Can I send submissions to Slack or Discord?
Yes. Go to Contact Form > Settings > Advanced > Webhooks and paste your Slack or Discord incoming webhook URL. You can also use generic JSON webhooks for Zapier, Make, or n8n.
Can I subscribe form submitters to my mailing list?
Yes. The plugin integrates with MailerLite, Brevo, ConvertKit, and SendGrid. Configure your provider in Settings > Advanced > Mailing list.
How many form templates are included?
Five templates: Default, Minimal, Card, Inline (2-column), and Dark. Set a default in settings or override per form via the block sidebar or shortcode attribute.
Why Your WordPress Site Needs a Contact Form
Every professional website needs a way for visitors to get in touch. A simple "email us" link might seem sufficient, but it exposes your address to spam harvesters and offers zero control over the information you collect. A proper contact form solves both problems: it keeps your email private while guiding visitors to provide exactly the details you need — name, email, subject, and message at a minimum.
Beyond the practical benefits, a contact form signals professionalism and trust. When a potential client or partner lands on your site, a clean, well-designed form tells them you take communication seriously. Research consistently shows that sites with visible contact options convert more visitors into leads. If you run a service business, freelance practice, or even a content blog that accepts guest posts, a contact form is the single most important conversion element on your site — more so than fancy animations or elaborate about pages.
The best WordPress contact form plugin should be lightweight enough to have zero impact on your page speed, simple enough to configure in under two minutes, and powerful enough to handle spam, store messages, and deliver emails reliably. That is exactly the balance Tidy Contact Form strikes — a best wordpress contact form plugin that ships everything you need in under 50 KB with zero frontend JavaScript.
Contact Form 7 vs Tidy Contact Form
Contact Form 7 has been the default WordPress contact form for over a decade. It is free, widely supported, and gets the job done. However, it was designed in an era before the block editor existed, and that legacy shows. Forms are configured via shortcodes and a custom markup language. There is no native Gutenberg block, no built-in message storage, and no SMTP support — you need separate plugins like Flamingo and WP Mail SMTP to fill those gaps. For a beginner, this means installing and configuring three plugins instead of one.
Tidy Contact Form is a modern contact form 7 alternative built specifically for the block editor era. You add a form by inserting a Gutenberg block, pick one of four templates, and configure fields visually — no shortcode syntax to learn. Messages are stored in the database out of the box, so even if email delivery fails you never lose a submission. SMTP is built in, not bolted on. Webhooks let you push submissions to Zapier, Make, or any automation platform without yet another plugin.
The performance difference is equally notable. Contact Form 7 loads its JavaScript and CSS on every page of your site by default, whether or not a form is present. Tidy Contact Form uses zero frontend JavaScript — the form is pure HTML, and validation happens server-side. The result is a smaller page weight, fewer HTTP requests, and better Core Web Vitals scores. If you are looking for a lightweight contact form wordpress solution that does not compromise on features, Tidy Contact Form is the clear choice.
How Tidy Contact Form Handles Spam
Spam is the number one frustration with contact forms. Most plugins address it with a single mechanism — typically a CAPTCHA or honeypot field. Tidy Contact Form uses a triple-layer approach that catches virtually all automated spam without requiring any user interaction.
The first layer is a honeypot field — an invisible form field that is hidden from human visitors via CSS but visible to bots. When a bot fills in this field, the submission is silently rejected. This technique alone blocks the majority of generic spam bots that simply fill in every field they find.
The second layer is a time-based check. The plugin records when the form page was loaded and compares it to the submission timestamp. If the form was submitted in under two seconds — faster than any human could read the page and type a message — it is flagged as bot activity and rejected. This catches more sophisticated bots that know to skip honeypot fields but still submit forms at machine speed.
The third layer is rate limiting. The plugin tracks submission frequency per IP address and blocks repeated submissions within a short window. This prevents brute-force spam attacks where a bot hammers your form with hundreds of submissions per minute. Combined, these three layers provide robust spam protection without the user-hostile experience of solving CAPTCHAs, identifying traffic lights, or waiting for third-party verification scripts to load.
Email Deliverability: Why SMTP Matters
The default WordPress email function — wp_mail() — uses PHP's built-in mail() function, which sends messages directly from your web server. The problem is that most web servers are not configured as legitimate mail servers. They lack proper SPF records, DKIM signatures, and sender reputation. As a result, emails sent via php mail() frequently end up in spam folders or are rejected entirely by providers like Gmail, Outlook, and Yahoo.
SMTP (Simple Mail Transfer Protocol) solves this by routing your emails through an authenticated mail server — your own email provider, Gmail, SendGrid, Amazon SES, or any other SMTP service. Because these servers are properly configured for email delivery, your messages arrive in the inbox instead of the spam folder. The difference in deliverability is dramatic: sites that switch from PHP mail to SMTP typically see delivery rates jump from 60-70% to 98-99%.
Most contact form plugins require a separate SMTP plugin like WP Mail SMTP or Post SMTP. Tidy Contact Form includes SMTP configuration directly in its settings page — host, port, encryption, username, and password. You configure it once and every form submission is delivered through your chosen mail server. No extra plugin, no compatibility issues, no additional settings page to manage. For site owners who want reliable email delivery without plugin sprawl, this built-in approach is a significant advantage.
Get Tidy Contact Form — Free WordPress Contact Form Plugin for free
Free WordPress contact form plugin under 50 KB — the lightest contact form for WordPress. 5 templates, Gutenberg block, reCAPTCHA v3 / Turnstile, honeypot + time-check + rate limiting, SMTP, message storage with dashboard widget, webhooks (Slack, Discord), mailing list integrations, CSV export, dark mode. Zero frontend JS. 100% free contact form.