How to Add a Contact Form in WordPress for Free (Step by Step)

On this page
A contact form lets visitors reach you without exposing your email address to spammers, and it can collect exactly the details you need, such as a phone number or project budget. This guide shows how to add a free contact form in WordPress, keep spam out and make sure every message actually reaches your inbox.
Step 1: Choose a free form plugin
Go to Plugins > Add New Plugin and search for a form builder. WPForms Lite, Fluent Forms, Formidable Forms and Contact Form 7 are all popular, free and well maintained. Visual drag-and-drop builders are easiest for beginners. Install and activate one.
If you use Elementor Pro, its built-in Form widget works too, with no extra plugin.
Step 2: Build the form
- Open the plugin's menu and create a new form, starting from a "Simple contact form" template.
- Keep it short: Name, Email and Message. Add a phone or "subject" field only if you need it. Every extra field lowers the number of people who finish.
- Mark the essential fields as required.
- Write a clear button label such as "Send message" rather than "Submit".
Step 3: Set notifications and confirmation
- Notification email: send to an inbox you check daily. Set the From address to an email on your own domain and the Reply-To to the visitor's email, so you can reply directly.
- Confirmation: show a friendly message such as "Thanks! We reply within one working day," or redirect to a thank-you page.
More detail in our guide to contact form email notifications.
Step 4: Stop spam
- Turn on the plugin's honeypot or built-in anti-spam protection.
- Add Cloudflare Turnstile or Google reCAPTCHA if spam continues.
- Do not publish your email address in plain text on the page.
Step 5: Add the form to a page
- Block editor: add the plugin's block (for example "WPForms") and select your form.
- Shortcode: copy the form's shortcode and paste it into a Shortcode block or widget.
- Elementor: use the plugin's widget or a Shortcode widget.
Place it on your Contact page and consider adding it to service pages too, where visitors are ready to ask.
Step 6: Test that emails really arrive
Submit the form yourself and check the inbox and spam folder. If nothing arrives, WordPress is probably using the server's PHP mail, which Gmail and others often reject. Fix it with SMTP using our guide to WordPress not sending emails.
Tip: turn on the plugin's option to save entries in the WordPress dashboard. If an email ever fails, the message is still there.
Contact page best practices
- Say how quickly you reply.
- Offer an alternative such as WhatsApp or phone (see adding a WhatsApp button).
- Link your privacy policy next to the form.
Frequently asked questions
Which free contact form plugin is best?
Popular free options include WPForms Lite, Contact Form 7, Fluent Forms and Formidable Forms. Choose one with a visual builder you find easy, spam protection and good reviews.
Why am I not receiving contact form emails?
Usually because WordPress sends mail through the server's PHP mail function, which providers often reject. Set up SMTP and authenticate your domain to fix it.
How do I stop contact form spam?
Use the plugin's built-in honeypot or anti-spam option, add Cloudflare Turnstile or reCAPTCHA, and avoid publishing your email address in plain text.
Do I need a privacy notice on my contact form?
It is good practice and required in many regions to tell people how you use their details. Link your privacy policy near the submit button.


