How to Add a Contact Form in Elementor Free (2 Methods)

Every website needs a way for visitors to get in touch, and a contact form is the simplest professional option. If you are building your site with Elementor, you may have hit a frustrating wall: the drag-and-drop Form widget is locked behind Elementor Pro. The free version simply does not include it. The good news is that you can still add a contact form in Elementor Free using free third-party plugins and just a little setup. In this guide you will learn two reliable methods: Contact Form 7 with a shortcode, and WPForms Lite with its own Elementor widget.
Why Doesn’t Elementor Free Have a Form Widget?
Elementor keeps its best widgets for the paid version to give people a reason to upgrade, and the Form widget is one of the most popular Pro features. It handles form building, styling, and email sending all inside Elementor. The free version focuses on layout, design, and content widgets instead. This is not a bug or an oversight – it is simply how Elementor’s pricing model works. But a contact form is such a basic need that WordPress’s plugin ecosystem covers it well, so going Pro just for a form is rarely worth it. Before you decide anything about Elementor’s paid plans, it helps to see the full picture – our Elementor Free vs Pro comparison breaks down every feature you do and do not get.
Before You Start: What You Will Need
- A WordPress site with Elementor (free version) installed and active.
- Admin access so you can install plugins.
- An email address where you want to receive form messages (ideally on your own domain, like info@yoursite.com, for better deliverability).
Method 1: Add a Contact Form with Contact Form 7 (Free, Shortcode)
Contact Form 7 is one of the oldest and most-installed WordPress plugins, and it is completely free. It does not have a drag-and-drop builder, but the default form it creates is a working contact form out of the box, and you place it on your Elementor page with a shortcode.
Step 1: Install and Activate Contact Form 7
- Go to Plugins – Add New in your WordPress dashboard.
- Search for Contact Form 7.
- Click Install Now, then Activate.
Step 2: Find Your Form’s Shortcode
- After activation, a new Contact menu item appears in your dashboard sidebar.
- Go to Contact – Contact Forms.
- You will see a default form called Contact form 1. In the Shortcode column, copy the code that looks like
[contact-form-7 id="123" title="Contact form 1"].
Step 3: Place the Shortcode in Elementor
- Open the page where you want the form with Edit with Elementor.
- Drag the Shortcode widget into your layout where the form should appear.
- Paste your Contact Form 7 shortcode into the widget’s field.
- Click Update and preview the page – your form is live.
Step 4: Set Where Emails Go
- Go to Contact – Contact Forms and click Contact form 1 to edit it.
- Open the Mail tab.
- In the To field, enter the email address where you want to receive messages.
- Save the form.
Contact Form 7 also offers add-ons for spam protection (reCAPTCHA and the newer Cloudflare Turnstile integration) under the Integration tab. Turn these on before launch – unprotected forms attract spam bots within days. You can learn more in the official Contact Form 7 plugin documentation.
Method 2: Add a Contact Form with WPForms Lite (Drag-and-Drop)
If you prefer a visual builder, WPForms Lite is the free version of the popular WPForms plugin. It gives you a drag-and-drop form editor and – very usefully – its own Elementor widget, so placing the form feels like using a native Elementor widget.
Step 1: Install WPForms Lite
- Go to Plugins – Add New, search for WPForms, and install the one by WPForms (the free version is called WPForms Lite).
- Activate it. A setup wizard may appear – you can skip it.
Step 2: Create Your Contact Form
- Go to WPForms – Add New.
- Name your form (for example, “Contact Form”).
- Select the Simple Contact Form template – it comes pre-loaded with Name, Email, and Message fields.
- Drag any extra fields (phone number, dropdown, checkbox) from the left panel if you need them.
- Click Save in the top right.
Step 3: Set Up Notifications
- Still in the form editor, go to Settings – Notifications.
- Check the Send To Email Address field – this is where submissions will be sent. Change it to your preferred address.
- Save.
Step 4: Add the Form to Your Elementor Page
- Open your contact page with Edit with Elementor.
- Search the widget panel for WPForms and drag the WPForms widget into your layout.
- In the widget settings, select your contact form from the dropdown.
- Click Update. The live form appears on the page.
WPForms Lite also lets you view all form entries inside your dashboard under WPForms – Entries, which is handy when an email goes missing. Full details are in the official WPForms Lite plugin page.
Which Method Should You Choose?
- Choose Contact Form 7 if you want a lightweight, no-frills form and do not mind editing fields in a text-based editor. It is also the better choice if you plan to add many different forms across the site, since it stays lean.
- Choose WPForms Lite if you want a visual drag-and-drop experience, friendlier settings screens, and entries stored in the dashboard. It is the easier pick for beginners.
Can You Style the Form in Elementor Free?
This is the main limitation. In Elementor Free, you can style the section and column holding the form (background, padding, borders), but not the form fields themselves – the Shortcode and WPForms widgets do not expose field-level styling. Two workarounds exist: both plugins have their own limited styling settings (WPForms has a basic style selector in the Lite version), or you can add custom CSS in Appearance – Customize – Additional CSS targeting the form fields. If pixel-level form styling matters a lot, that is one of the genuine reasons to consider the Pro version’s Form widget. The design limits of the free version apply elsewhere too – for example, the same constraints show up when you edit the header in Elementor Free, which also needs a workaround.
What If Form Emails Never Arrive?
The most common complaint with any WordPress form is messages silently vanishing. This is almost never the form plugin’s fault – WordPress sends mail through your hosting server by default, and many hosts block or flag those messages as spam.
- Check spam/junk first. Send a test submission and look in your spam folder.
- Use a domain email. Sending from a Gmail or Yahoo address in the “From” field fails SPF checks. Use an address on your own domain.
- Install an SMTP plugin. A free plugin like WP Mail SMTP or FluentSMTP routes WordPress mail through a real mail service (Gmail, SendGrid, or your host’s SMTP), which fixes delivery for most people. Configure it once and every form on your site benefits.
- Check the entries log. With WPForms Lite, entries saved in the dashboard prove the form worked even if the email failed – the problem is then definitely email delivery, not the form.
How Do You Stop Spam Submissions?
- Contact Form 7: go to Contact – Integration and connect reCAPTCHA or Cloudflare Turnstile (free).
- WPForms Lite: go to WPForms – Settings – CAPTCHA and enable hCaptcha or Cloudflare Turnstile for free.
- Honeypot: both plugins have a hidden honeypot field option that traps basic bots without bothering real visitors – keep it enabled.
A clean, spam-free contact page also plays a small role in how professional your site looks. If you are wondering whether free tools can hold a site back in search, our look at whether Elementor hurts SEO covers the myths and the facts.
Frequently Asked Questions
Can I add a contact form in Elementor Free without any plugin?
No. Elementor Free has no form-building widget at all, and WordPress core does not include a contact form feature. You need at least one form plugin – Contact Form 7 or WPForms Lite are both free and work well with Elementor.
Is Contact Form 7 or WPForms Lite better for Elementor users?
WPForms Lite is easier for beginners thanks to its drag-and-drop editor and native Elementor widget. Contact Form 7 is lighter and completely free with no upsells, but its editing interface is text-based. Both send email reliably once your mail delivery is set up correctly.
Why is my Elementor contact form not sending emails?
Almost always because of how WordPress sends mail through your hosting server. Install a free SMTP plugin (WP Mail SMTP or FluentSMTP), use an email address on your own domain as the sender, and test again. Check spam folders and the plugin’s entries log to confirm submissions are being recorded.
Can I style Contact Form 7 fields in Elementor Free?
Not through Elementor’s panel – the free version only styles the section and column around the form. You can style the fields with custom CSS in Appearance – Customize – Additional CSS. For visual, no-code field styling you would need Elementor Pro’s Form widget or a styling add-on.
Last updated: October 2026.



