Trusted WordPress tutorials, when you need them most.
Beginner’s Guide to WordPress
25 Million+
Websites using our plugins
Years of WordPress experience
WordPress tutorials
by experts

How to Create a Contact Form in WordPress (Step by Step)

Editorial Note: We earn a commission from partner links on WPBeginner. Commissions do not affect our editors' opinions or evaluations. Learn more about Editorial Process.

Are you looking to create a contact form and add it to your WordPress site?

Every website needs a contact form, so visitors can easily contact you about your products and services. By default, WordPress does not come with a built-in contact form, but there is an easy way to add contact forms to your site.

In this article, we’ll show you how to easily create a contact form in WordPress without touching a single line of code.

How to create a contact form in WordPress (step by step)

Why Do You Need a WordPress Contact Form?

You might be wondering why do I need a contact form? Can’t I just add my email address on my website, so people can email me?

That’s a very common question from beginners because they are afraid that adding a contact form requires coding knowledge.

Luckily, you can use a WordPress plugin to simply add a contact form to your WordPress website with zero coding knowledge.

Below are the top 3 reasons why a contact form is better than pasting your email address on a page.

  • Spam Protection – Spam bots regularly scrape websites for the mailto: email address tag. When you post your email address on the website, you will start to receive a lot of spam emails. On the other hand, your contact form can block contact form spam and stop almost all spam emails.
  • Consistent Information – When emailing, people don’t always send you all the information that you need. With a contact form, you can tell the user exactly what information you’re looking for, like their phone number, budget, project details, and more.
  • Saves Time – Contact forms help you save time in more ways than you can imagine. Aside from consistent information, you can also use form confirmations to tell the user the next steps they should take. Like, watch a video or wait up to 24 hours to get a response, so they don’t send you multiple inquires.

With that said, let’s show you how to easily create a contact form in WordPress, step by step.

Video Tutorial

Subscribe to WPBeginner

If you prefer written instructions, then please continue reading.

Step 1. Choosing the Best WordPress Contact Form Plugin

The first thing you need to do is choose a WordPress contact form plugin.

While there are several free and paid WordPress contact form plugins you can choose from, we use WPForms on our site and believe it’s the best option in the market.

Below are the three reasons why we think WPForms is the best:

  1. It is the most beginner friendly contact form plugin available. You can use the drag & drop builder to easily create a contact form in just a few clicks.
  2. WPForms Lite is 100% free, and you can use it to create a simple contact form (over 6 million sites use it).
  3. When you are ready for more powerful features, then you can upgrade to WPForms Pro.

To learn more, see our detailed WPForms review.

Now that we have decided on the contact form plugin, let’s go ahead and install it on your site.

Step 2. Install a Contact Form Plugin in WordPress

For this tutorial, we’ll use WPForms Lite because it’s free and easy to use.

You can install this plugin on your site by logging into your WordPress dashboard and going to Plugins » Add New.

Then, in the search field, type ‘WPForms’, and click on the ‘Install Now’ button.

Install WPForms plugin

This will automatically install the plugin on your site.

Next, you need to activate the plugin by clicking the ‘Activate’ button.

Activate WPForms plugin

If you don’t see the plugins menu or want more detailed instructions, then see our step by step guide on how to install a WordPress plugin.

Step 3. Create a Contact Form in WordPress

Now that you have activated WPForms, you are ready to create a contact form in WordPress.

To do this, navigate to WPForms » All Forms in your WordPress admin panel. Then, click the ‘Add New’ button.

Add new WPForms form

This will open the WPForms drag and drop form builder template library. Start by giving your contact form a name and then select your contact form template.

To choose a template simply hover over it and click the ‘Use Template’ button.

WPForms Lite comes with over 20+ free form templates to choose from. You can use these to create just about any type of contact form you like.

For the sake of this example, we will go ahead and select the ‘Simple Contact Form’ template. It will automatically add the Name, Email, and Message fields.

Choose WPForms form template

You can click on any of the form fields to edit them.

When you click on a form field it will bring up a ‘Field Options’ panel on the left where you can make changes.

Make edits in field options panel

You can also use your mouse to drag and drop the fields to change the order.

Change form fields order

If you want to add a new field, then simply select from the available fields on the left sidebar.

You can drag it over to your form or click on it, and it will automatically be added to your form.

Drag and drop new form fields

When you’re done customizing your form, make sure to click on the ‘Save’ button.

Step 4. Configuring WordPress Form Notification and Confirmations

Now that you have created your contact form, it’s important that you properly configure the form notification and form confirmation options.

Form confirmation is what your website visitor sees after they submit the form. This can be a simple thank you message, a page where you’ve uploaded downloable PDFs, or anything you’d like.

Form notification is the email you get after someone submits the contact form on your WordPress blog.

To customize the confirmation message, click on the ‘Settings’ tab and then the ‘Confirmations’ tab inside the form builder.

There’s already a default thank you message.

However, you can customize this in the ‘Confirmation Message’ box, if you’d like.

Go to form confirmation message

If you want to redirect users after successful form submission instead of showing a message, then select ‘Go to URL’ from the ‘Confirmation Type’ drop down.

Then, enter the URL where you want to redirect users too.

Redirect to page after confirmation

If you make any changes here, then make sure to click the ‘Save’ button.

After that, you can make sure the form notification settings are correct. Simply click on the ‘Notifications’ tab from the same ‘Settings’ menu.

The best part about WPForms is that the default settings are ideal for beginners. When you go to the notification settings, all fields will be pre-filled dynamically.

Go to form notifications tab

The notifications by default are sent to the admin email that you have set up when you created your site.

If you want to send it to a custom email address, then you can change that. If you want to send the notification to multiple emails, then just separate each email address by a comma.

The ‘Email Subject Line’ is pre-filled with your form name. The ‘From Name’ field is automatically populated with your user’s name.

Change form email notifications

When you reply to the form inquiry, it will go to the email that your user filled in the contact form.

Make sure you click the ‘Save’ button if you make changes here.

If you want to send your form email to multiple people or different departments, then see our guide on how to create a contact form with multiple recipients.

If you’re having issues with receiving form emails, then see our guide on how to fix WordPress not sending email issue.

Step 5. Adding WordPress Contact Form in a Page

Now that you are done configuring your WordPress contact form, it’s time to add it to a page.

You can either add it to an existing contact page or create a new page in WordPress.

If you want to create a new contact form page simply go to Pages » Add New and then give your page a name.

We will be using the WPForms block to add the form in a page. Simply click on the ‘Plus’ add block button and search for ‘WPForms’.

Then, click on the ‘WPForms’ block.

Create new contact page and add WPForms block

The WPForm block will now appear in the content area of your page.

You need to click on the drop down menu to select the form you created earlier.

Select contact form from drop down

WPForms will load your contact form preview inside the editor. You can now click the ‘Publish’ or ‘Update’ button to save your form.

Now, you can visit your website to see it in action.

Here’s what the form looked like on a sample WordPress contact page:

WordPress contact form example

If you only wanted to add the contact form on page, then you’re done here. Congratulations.

WPForms also comes with a WordPress contact form shortcode. You can use this by visiting WPForms » All Forms and then copy the shortcode next to your form.

Copy form shortcode

Then, all you need to do is open up the page where you want to add it and click the ‘Plus’ add block button and search for ‘Shortcode’.

Next, click the ‘Shortcode’ block.

Add shortcode block

Then, paste the shortcode that you copied above into the box.

After that, click ‘Update’ or ‘Publish’ and your contact form will be live on your website, just like above.

Paste form shortcode and save

To learn more about shortcodes, see our ultimate guide on how to add a shortcode in WordPress.

Step 6. Adding WordPress Contact Form in a Sidebar

WPForms also comes with a WordPress contact form widget that you can use to add your contact form to a sidebar or any other widget-ready area in your WordPress theme.

To do this, you need to go to Appearance » Widgets and then click the ‘Plus’ add block icon in the widget area you want to add your form.

Add new widget block

Next, search for ‘WPForms’.

Then, click on the ‘WPForms’ block to add it to your sidebar.

Add WPForms widget block

After that, you need to select your contact form from the drop down.

This will automatically load a preview of your form.

Select form from drop down

Next, click the ‘Update’ button to save your changes.

Now, you can visit your site to see your contact form live in your sidebar or other widget area.

Sidebar contact form example

To learn more about widgets, see our guide on how to add and use widgets in WordPress.

Taking Your WordPress Contact Form to the Next Level

Aside from creating the simple contact forms, WPForms Pro comes with over 1,800+ pre-made form templates that you can use to quickly create any type of WordPress form that you need.

There are powerful features like conditional logic, surveys & polls, electronic signature collection, form abandonment, geolocation data, customizable coupon codes, and so much more.

Plus, it lets you easily accept online payments via Stripe, PayPal,, and Square. Even the free version of WPForms allows you to collect Stripe payments.

Not to mention, it integrates with thousands of marketing and business tools like Google sheets, HubSpot, and more to help you streamline your workflow.

WPForms also has added form customization tools like form landing pages, conversational forms, lead forms, and calculator forms that lets you add interactive forms on your site without the high costs.

WPForms Full Page Conversational Forms Example

For more tips, see our guide on how to create more interactive forms in WordPress.

Experiencing contact form errors? Let WPBeginner Pro Services resolve them! We offer affordable Emergency WordPress Support to quickly troubleshoot and fix contact form errors. Save time, get peace of mind, and ensure that your customers can reach you. Schedule WordPress Support Services today!

We hope this article helped you create a simple contact form in WordPress. You may also want to see our guide on how to create an email newsletter the right way, and our expert picks of the best business phone services for small businesses.

If you liked this article, then please subscribe to our YouTube Channel for WordPress video tutorials. You can also find us on Twitter and Facebook.

Disclosure: Our content is reader-supported. This means if you click on some of our links, then we may earn a commission. See how WPBeginner is funded, why it matters, and how you can support us. Here's our editorial process.

Editorial Staff

Editorial Staff at WPBeginner is a team of WordPress experts led by Syed Balkhi with over 16 years of experience in WordPress, Web Hosting, eCommerce, SEO, and Marketing. Started in 2009, WPBeginner is now the largest free WordPress resource site in the industry and is often referred to as the Wikipedia for WordPress.

The Ultimate WordPress Toolkit

Get FREE access to our toolkit - a collection of WordPress related products and resources that every professional should have!

Reader Interactions

162 CommentsLeave a Reply

  1. Syed Balkhi says

    Hey WPBeginner readers,
    Did you know you can win exciting prizes by commenting on WPBeginner?
    Every month, our top blog commenters will win HUGE rewards, including premium WordPress plugin licenses and cash prizes.
    You can get more details about the contest from here.
    Start sharing your thoughts below to stand a chance to win!

  2. Shamli says

    Hi, I’ve done all the steps as mentioned above, but I cannot see the Contact page when I preview.

    Please help me to solve.
    Thank you.

  3. Brenda says

    HI – We are using this contact form and it’s fine but I would like to add Captcha and, more importantly, some text that can be overwritten in the message box. There is a local company with a very similar name so we are constantly receiving messages which relate to this other company. We want to have some text, that has to be overwritten, to reiterate what our company is to try and reduce these messages. Is this possible?

    • Brenda Donovan says

      I redid the form and rechecked the add recaptcha on the confirmation settings and it worked this time. I had done it before but somehow didn’t take.

      now on to the mail problem. thanks

  4. safi says

    sir how can i know which email system notify or receive message i did everything but don,t which i will receive the email from client i am beginner with wp

  5. Sarah Zubair says

    So how do I access the library of media (if I’ve an option of attaching some files in my WP forms) then where do they all get stored?

    • WPBeginner Support says

      Hi Sarah,

      By default, the user-uploaded files are stored in the WPForms folder inside the Uploads directory of your site.

      If you’d prefer to upload the files to the WordPress Media Library, click on the File Upload field in the form builder. Then, under Advanced Options, check the box next to Store file in WordPress Media Library.

      For more details see this guide.


  6. marypeter says

    This is truly helpful. I can say it is my first time to leave a review in any website. The information you have provided has prompted me to do this. Thank you a thousand times!!

  7. Eston says

    how do i set it up that i recieve emails in Gmail, and be able to reply to customers right there in

  8. Cathy says

    I found this very helpful in setting up, however, after completion I ran a test, so did a friend of mine, I cannot figure out why we are not receiving the email tests sent from the web site? Although I’ve gone through the steps a second time to be sure all was correctly set up, I am not receiving messages from the web site, I hope you can assist with constructive suggestions to aid in problem solving, much appreciate the assistance…

  9. Lori Jo says

    I am very new, easily confused! Regarding the assigned admin email address in my WP blog site, can that actually be used to receive messages from the contact form? I think the address looks more professional and it would be nice to have all site messages responding back to the actual site instead of an outside email like my Gmail. I did a test and I could not find the reply, installed Flamingo and I did see it but there is no reply option like regular email.

    Please let me know, thanks!

  10. Yoshi says

    I’m looking to build my own contact form plugin because the contact forms in the market I’ve tried slow down my site. Is this the best alternative?

  11. gigi says

    hi, i have key in my email address in the notification but i’m yet to get any notification from my email even though i have done few testing.. how do i solve this matter? please guide, thanks

  12. Al Kadam says

    I have contact form plugin installed but customization is very limited and the code is too long and complicated. Now I plan to copy a simpler .php code and install it myself. is it better to do it this way? is there security issue accessing the .php file from the page where the contact form is placed?

  13. Ashley says

    Hi, I have tried several different forms and this keeps happening. Whenever I go to the contact page, under the title it says “>contact”. I can remove the word “contact” by removing the page title, but that little carrot ( > ) is still there. how do I get rid of that? Thanks.

  14. Joe Tittiger says

    The mail does not arrive from this form.
    Is there a video on how WP handles email so that I can fix this?

  15. Keith says

    Thanks guys, a real easy process that let me set up my first contact form in like 10 minutes; tested and works

  16. olx says

    i tried inserting form after creating it but on the add page the form did not insert. my wordpress seems to be limited and cant add and form. please help

  17. pratima Shrivastav says

    I have created the Wp form as mentioned but when I test it out I am receiving any email notifications. i have turned on the notifications by clicking on email Notification section of the form. Am I missing any other settings? Please guide me to this

  18. Yvonne says

    I have set up the form, just like it was explained, but it isn’t showing up on the page I told to add the form.

  19. Rebecca Yurkanin says

    WP forms is super easy to set up, but DOES NOT work. I tried several times to send an email to myself. It worked once! The other 20 times did not. I went back and tried to change things around. It still did nothing. I am familiar with shortcodes, so that wasn’t the problem. And never saw a recaptcha. And wpforms doesn’t even have a contact form to fill out so I can contact them! What a joke!

  20. Brenda says

    My blog isn’t even launched yet. I have a Coming Soon Page. I have been working on getting a Contact Form to appear for what seems like hours. I had added a new Contact Page on my menu. I saved the code on my Contact Page. Published. And, The Contact Form is not showing up when I live preview Contact on my primary menu. I’m following your tutorial. This seems so easy, and yet…not so much! Does this work with Genesis child? I’ve tried WPForms and Contact Form. I don’t know what I’m doing wrong. Since I’m a newbie, I’m having trouble with menu + page connection and menu category drop downs. This blog setup is more difficult than I thought. Any advice?

  21. zelda zerafa says

    When I go on SETTINGS it looks different to your video.
    I get 3 tabs : General, Integrations and System Info as follows:

    General > Form Styling/ Email/Re Captcha/Validations
    Integrations > Integrate Constant Contact with WP forms
    System info

    I have no idea what to fill in for Validations and Email.
    Under validations there are also two mysterious fields : Number and Confirm Value

    Please help!

    • WPBeginner Support says

      Hey Zelda,

      The screen you are viewing is for the plugin settings. Click on WPForms » All Forms and then edit a form or go to WPForms » Add New to launch the WPForms’ form builder interface. There you will see a screen like the screenshot above with a Settings tab. These settings are specific to the form you are creating.


  22. Myri says

    Is this setup (Form plugin) recommended for creating a form with ~500 entries per month where users upload images + complete payments. Eg. Now I am using contact form 7 plus cc7 paypal addon to create a “submit your images + pay” type form. Is this sustainable or is it better to use a professional form builder service?

  23. Dock says

    excellent blog, very rich in content and correctly thought out, personally I found

    here much interesting and useful…..Well! let know my friend as well.

  24. Heather Pooley says

    I followed this tutorial and I got the contact form working. But when I tried to send a test email through it to my blog email address from my personal one, it didn’t get to me. Any advice on how I can fix this?

  25. Prats says

    Unable to add contact form as sidebar. Already created form using WPforms, added to WordPress widgets (Appearance-widgets) but unable to see the form on page (But getting the title form the form on the sidebar widget area). Tried several times, so frustrated, Can you help ?
    FYI, I am using live composure and beaver page builder to design page.

    Thanks in advance

  26. Kathy Broyles says

    Hi! created the form and linked the page – works great! but… when i do a test and hit submit, I get this:

    how do I fix that?

  27. Calli Jacobs says


    For some reason, the shortcode doesn’t work, and the “add form” button doesn’t, either. It just gives me the shortcode in both “text” and “visual.” What am I doing wrong?

    Asking you because I used the suggested plugin.

  28. Joe Andrews says

    How long does it take for the wpforms contact me plugin to work? I set it up on my wordpress site and the submit appears to work and the reply message appeared as expected. I have tested it 3 times (now an hour later on the last one) and have yet to receive any of the notices. I tried it first to the admin, and then changed it to my regular email. 0-3 have been received. I have checked the spam folder.

  29. stephen thomas says

    how do I use the same form but know what page it has come from automatically. I want to design a simple form and have custom made a few for every page I place it on. I’d rather it just emailed me and somewhere tells me ‘came from contact us page’ or ‘enquiry came from price list page’

  30. Kevin says

    Hello thanks for the post. Is there away to change the font color? The font is black and our web page, thus you can’t see the words.

  31. Neil Hanes says

    I’m brand new to blogging and this guide is fantastic! Thank you. I have a couple of follow up queries:

    – If I fill in a custom email address, can I respond to the inquiry through my website? If so, how?
    – Is there any way to change the font of the form to be more in line with my website theme? I’m thinking maybe I just want to unbold the title and field headings.



  32. Alicia says

    After building up the contact form, (yes, i did add the email address for notification) do not receive any notification. I had trouble with Contact Form 7 so I am now trying WPForms and it shows the same problem! How to make WPForms work? Thx.

  33. Saher says

    From:domain name [mailto:info@domain name]
    Sent: Sunday, May 15, 2016 4:53 AM
    To: info@domain name
    Subject: Contact from domain name

    Name : XYZ
    Email :]
    Message :This is testing email

    Hi ,
    when I used short code of contact form & send testing email to check I got email with 1st paragraph . I don’t need this info can you help how can I stop it ?

  34. Harsha says

    I installed. I filled info in the form to test it and clicked “sumbit”. It said “Thank you, will be in touch with you” And nowhere it appeared in the mail. Where to see that info???

      • Harsha says

        I have set up email using go daddy C panel. Is it same for WordPress also? Or Do I have to setup a different admin email id in WordPress? Please guide me.

        However I have included all email ids in the notification settings separated by commas (Cpannel id & personal gmail id)

        But nowhere I received any mail regarding the info I filled in the contact form for testing purpose.

        Also, I went through the link “how to fix WordPress not sending email issue” and installed Gmail SMTP it didn’t work either. I tried troubleshooting by configuring port with 587 (with TLS encryption), 465 (with SSL encryption). 25 with TLS first and then SSL. Nothing worked.

  35. Lesley Jackson says

    This all looks very useful but when I want to use some of this I can’t seem to find it on my admin site. I wanted to create a contact form but can’t find any way to add a new plug in. Are these tips and suggestions just for people who have a self hosted WordPress blog?

  36. jo dewberry says

    Thank you so much. I am new to blogging and your step by step information was easy to understand and I installed my Contact plug in first time.

Leave a Reply to Karolina Cancel reply

Thanks for choosing to leave a comment. Please keep in mind that all comments are moderated according to our comment policy, and your email address will NOT be published. Please Do NOT use keywords in the name field. Let's have a personal and meaningful conversation.