This post is no longer updated. Move to Contact Form 7 official site.
Download | Plugin Homepage | FAQ | Support Forum
Summary
![]()
Just another contact form plugin. Simple but flexible.
- Supports multiple contact forms.
- You can customize form and mail contents with simple markup.
- AJAX submitting with jQuery Form Plugin.
- Spam filtering with Akismet.
- Bot prevention with CAPTCHA.
Download and Install
Download the latest release from WordPress.org plugin directory.
- Upload whole contact-form-7 folder to the /wp-content/plugins/ directory
- Activate the plugin through the ‘Plugins’ menu in WordPress
Usage
- Open admin page
[Options] – [Contact Form 7][Manage] – [Contact Form 7].Update: If you are using WordPress 2.7 or greater, you can find the admin page under [Tools] – [Contact Form 7].
- Edit default “Contact form 1” or add new and save it.
- Copy
[contact-form ...]code and paste it into the content of any posts you need the contact form.
FAQ
How to customize form and mail contents
You can use “tags” in several fields. Contact Form 7’s “tag” is formed string enclosed in square brackets [].
A tag used in form content is replaced by HTML form control element like <input> or <textarea>.
A tag used in mail template is replaced by user input of element with the same name.

In this picture, a tag [textarea your-message ...] inserted in form content is replaced by <textarea> tag with name="your-message" attribute.
When a visitor input into this <textarea> field and submit, Contact Form 7 generates a mail based on mail template. Since message body field has [your-message] tag, this tag replaced by the user input message.
Tags in form content
You can use the following types of tags in form content.
| Type | Replaced by | Validated as |
|---|---|---|
| text | <input type="text" /> |
Any text |
| text* | <input type="text" /> |
Any text / Required |
<input type="text" /> |
Email address | |
| email* | <input type="text" /> |
Email address / Required |
| textarea | <textarea> </textarea> |
Any text |
| textarea* | <textarea> </textarea> |
Any text / Required |
| select | <select> </select> |
— |
<select> </select> |
— | |
| checkbox | <input type="checkbox" /> ... |
— |
<input type="checkbox" /> ... |
— | |
| radio | <input type="radio" /> ... |
— |
| captchac | <img /> |
CAPTCHA See How to use CAPTCHA |
| captchar | <input type="text" /> |
|
| submit | <input type="submit" /> |
— |

The syntax of tag is not so easy. You can use Generate Tag menu under Form textarea to make a tag you need.
I show you some examples of tags.
[text your-name 40/100 "John Smith"]This tag is replaced with:
<input type="text" name="your-name" size="40" maxlength="100" value="John Smith" />[email* your-email 60/ id:email]<input type="text" name="your-email" id="email" size="60" />[textarea your-message 80x15 "Write message here."]<textarea name="your-message" cols="80" rows="15">Write message here.</textarea>
[select your-country "China" "India" "other"]<select name="your-country"> <option value="China">China</option> <option value="India">India</option> <option value="other">other</option> </select>
I wrote about tag syntax.
How to use Akismet on Contact Form 7
1. You need Akismet plugin. If you have not activated it yet, activate it first.
2. Open Contact Form 7’s admin page and edit Form text area as:
- Add
akismet:authoroption to the tag of field which requires sender’s name.
Example:[text* your-name akismet:author] - Add
akismet:author_emailoption to the tag of field which requires sender’s email address.
Example:[email* your-email akismet:author_email] - Add
akismet:author_urloption to the tag of field which requires sender’s URL.
Example:[text your-url akismet:author_url]
Once you have activated the Akismet plugin and at least one of the akismet: options is set, Contact Form 7 will send all of a sender’s input as well as any other information related to input activity to the Akismet server. Akismet will then judge whether this input is likely to be spam.
When Akismet judges a message as spam, Contact Form 7 sends no mail and shows a response message with an orange border line (the third example in the picture below).

To make sure the spam filtering is working, send a message with “viagra-test-123” as the sender’s name. If the test is a success, the message will be judged as spam.
Changelog
- 0.9 (2007/04/30)
- Initial release.
- 1.0 (2007/05/20)
- Tag helper.
- 1.1 (2007/08/02)
- File restructuring.
- 1.2 (2007/08/16)
- jQuery Form Plugin introduced.
- 1.3 (2007/08/26)
-
New tag type:
[select] - 1.3.1 (2007/08/26)
- Critical bug about JavaScript loading fixed.
- 1.3.2 (2007/09/03)
- Bug fix around jQuery.
- 1.4 (2007/09/07)
- Akismet spam filtering introduced.
- 1.4.1 (2007/09/11)
- Add Spanish and Catalan translations.
- 1.4.2 (2007/09/13)
- Add German translation.
- 1.4.3 (2007/09/15)
- Add Polish translation.
- 1.4.4 (2007/09/17)
- Add French translation.
- 1.5 (2007/10/07)
- CAPTCHA introduced.
- 1.6 (2007/10/17)
- Mail (2) and UI improvement for admin page.
- 1.6.1 (2007/10/27)
- Sidebar widget support.
- 1.7 (2007/11/27)
-
New tag type:
[select+],[checkbox],[checkbox+]and[radio] - 1.7.1 (2007/12/06)
- Made wpcf7 variable global. Polish translation updated.
- 1.7.2 (2007/12/13)
- Bugfix. Czech translation added.
- 1.7.3 (2007/12/23)
- New
default:andlabel-firstoptions added. - 1.7.4 (2007/12/30)
select+andcheckbox+tag types removed.multipleandexclusiveoptions added.- 1.7.5 (2008/01/26)
- Two fixes and
include_blankoption. - 1.7.6 (2008/03/02)
- New
acceptancetag added.
1,401 replies on “Contact Form 7”
[…] Contact Form 7 […]
Hi- I love your plugin- but I think it has a bug. I have WP 2.8.
I created a form to let users select their birthdate. I created a drop down for Month (Jan-Dec), day (1-31) and text field for year. I also did the same for birth time- create a drop down for hour (1-12), minute (1-59) and AM/PM.
When it got the email with this information, somewhere along the line, it would add a day and an hour to the entry. So instead of July 9, 2009 10:30 PM I would get July 8, 2009 11:30 PM. Strange.
SO I just created text fields for all the entries, but thought you should know.
Hi there,
Great plugin so far!
I have a problem though…
I can’t seem to get it working with the akismet settings in order to get an email.
This is what i have for code in the form section….Does anything seem off?
Here’s where you can view the form.
http://langleyvineyard.com/?page_id=891
CODE:
Your Name (required)
[text* your-name akismet:author]
Your Email (required)
[email* your-email akismet:author_email]
Subject
[text your-subject]
Your Message
[textarea your-message]
[submit “Send”]
Hi,
I am using the contact form plugin and it works fine for what I need it for, however, I wish to use my email address provided by my ISP. It says that it was sent with no problems but I do not receive it.
I have check all folders but nothing. When I use a hotmail account I recieve it no problems.
Is the plug in only for IMAP or can POP3 be used, and can multiple email address be used to receive data…
Regards,
Jayce
[…] Contact Form 7 : je me demande pourquoi il n’est intégré directement dans WordPress. Ca permet de créer un formulaire de contact sans laisser son adresse email visible de tous […]
[…] A contact form. I believe you all are familiar with them. If not, then…well…I can’t help you. This plugin allows for multiple forms to be embedded using shortcode. Simple and straight forward. (Download here) […]
Is there anyway to control the size of the textarea that is displayed? I wanted to reduce it to 3 lines or so if possible to take up less real estate as I have it embedded in a sticky message.
Thanks,
Steve
[…] Contact Form 7 […]
[…] Contact Form 7 […]
This is one of the best plugins I’ve ever seen. Thank you so much for creating it!
Love the plugin, it’s extremely flexible. I was wondering if anyone was having the same checkbox padding problem as me. For some reason my checkbox has about 50 pixels of padding (or margin) on each side as you can see here toward the bottom of my form,
http://bnriverkeeper.org/programs/rain-barrels/order-form/
I’m using CF7 Version 1.10.1 on WordPress 2.8.1.
Thanks!
Dan
[…] Contact Form 7 […]
hey iDeasilo, I’m a user of this plugins in china. This plugins is very well,but when i use it,i got a problem that page with this plugins always notices “can’t send mail,please find another way to contact administration“
how can i deal with this problem? thank you!
my website:http://unclepandora.com/?page_id=825
[…] Download plugin tweetmeme_url = 'http://www.shoutmeloud.com/wordpress-plugin-for-contact-me-page-contact-form-7.html';tweetmeme_source = 'denharsh'; If you enjoyed this post, make sure you subscribe to my RSS feed! […]
[…] Contact Form 7, por Takayuki Miyoshi – Sensacional formulário de contato. Extremamente flexível, se você souber usar bem as tags de comando. Usando apenas esse plugin, você pode ter de 1 a 1 milhão de formulários diferentes em seu blog. […]
[…] objednávateľovi tak aj škole dizajnu. Na toto som použil mierne upravený plugin pre WordPress Contact Form 7. Nie je to ideálne riešenie, ale je jednoduché, efektívne a funkčné. Mohol by som […]
Hi,
Is there a way I can add an auto-repose (autoreply) email to the person who filled out the contact Form?
Many thanks
Terek
Hello friend i have a problem about contact form e-mail. i edited settings Sender section. i add form [e-mail] but when i take e-mail sender section write WordPress. i want to write senders e-mail. how can i do?
apologise for my english.Regards.
wow, thanks for the simple plugin it helpfull an BEST REGARDS from G E R M A N Y ! TOM
Is, there a way, or another plugin where, I can have someone use a the forum, and once they added the correct info, it will go in as a post!
One of our users, Nick the Geek, was kind enough to create an improvement patch for Contact Form 7 and gave us the files. You can see the original post in the support forum.
The files were created based on Contact Form 7 1.10.1. You can download the version from the archives page.
Thanks, Nick. I can’t tell you how much I appreciate your great contribution.
[…] Contact Form 7 is another great plugin. It’s simple, but extremely flexible. You can leave all the options alone and still have a nice slick contact form, or you can go all out and tweak options to your hearts content. Unlike most contact form generators, you can even tweak the individual error messages from the settings page, rather than being forced to edit the code (and re-edit after a plugin update). No website should be without a contact form, and this makes it simple. […]
Great plugin!
The latest update moved the edit page from the Tools menu and made it a top level entry. I don’t like that. Please move it back to the Tools or Settings menu. Not every plugin can have their own top level meny item. At least not those who use only one submenu item, like this one.
I am interested to translate to Bangla Language.
hi Takayuki,
thank you for you work and giving your PlugIn to everyone for free, much appreciated.
Like Knut, I am not happy with the “stand-alone-menu” item which came along with most recent version. I would appreciate if you could move this back to tools/settings menu. Thank you very much.
best regards
ruediger [Wiesbaden/Germany]
Hey Takayuki.
Great plugin!
One question:
I would like to add the size attribute to the file input so as to make the form field longer. Is there any way I can do this? ie. so it outputs
Thanks,
Justin
i really like this plugin but i wish it was more user friendly for those who aren’t computer savvy. have you thought about creating a drag and drop interface or something like cforms?
First – thank you for a great plug-in. I just installed the latest version. It looks like the place where the plug-in is configured has been changed to be a separate item on the overall menu. That is fine. But the issue is that the words “Contact Form 7” in Safari 4 wrap which looks very strange. I just checked on IE 8 and the same issue appears. Would you please look into shortening the name or change the size. I know it’s a small issue but since you’re moving to a more prominent area (which I don’t mind), please take care to make sure the menu item looks normal.
Thank you very much in advance.
Is it possible to have a default selected item in a select list? if so whats the syntax? Thanks.
Hi !
My theme don’t show the errors with the colored borders around, how can i change that ??
/Miller
[…] updates. i had 2 upgrades. First Conatct Form 7 and second one is Colored Tag Cloud. When i update Contact Form 7 i want to look new abilities but i can’t found it under Tools Tab After i make a little […]
On a second thought, I agree completely with other comments about moving this back to where it used to be since it only has a single menu item. Please make this change. Thank you in advance.
I very rarely leave comments for plugins I use, but I have to give you props for making an awesome and easy-to-use plugin. Keep up the good work.
It’s realy a great plugin. I am now running on e107 and are looking for exact the same plugins i use now so i can switch to wordpress. Well done! Would be great if it stores the information in a downloadable spreadsheat. Than it is finished imo.
[…] Contact Form 7 is the best contact form plugin I’ve encountered in WordPress. It has literally tons of options ranging from validation, captchas, Ajax submit, multiple contact forms, etc. […]
i cant get the file attachment to work. it loads but it doesnt come thru in the email with an attachment.
can u help?
Is there anyway to only load the form scripting on the actual form page?
After updrading today to the latest Contact Form 7 and WP 2.8.2 this plugin no longer works. It deleted my existing contact form, and when I try to create a new one and save it, it doesn’t save and doesn’t show up.
No offense, but your documentation sucks hard. Can someone please write some good documentation on this plugin? Please!!!
It’s not that hard to learn.
Just take some hours and you will see you will understand pretty quickly.
Well, good documentation is always welcome. I myself don’t have time, though.
Well, thats true :-)
I just create my new site…(bad english sorry soy argentina) but I’m new in wordpress, and allwais says :FAILED TO SEND THE MESSAGE…what can I do? me email is allwais empty…the messenger never cams to my email
….can somebody explain to me what I am do wrong? sorry for my bad english please…
I tried upgrading and it wiped out my site. I received this message:
Warning: require_once(/home/josephb/public_html/wp-content/plugins/contact-form-7/includes/classes.php) [function.require-once]: failed to open stream: No such file or directory in /home/josephb/public_html/wp-content/plugins/contact-form-7/wp-contact-form-7.php on line 114
What do I Do!?
[…] I had to reinstall my blog from scratch, I downloaded and installed a new contact form, Contact Form 7. Tonight, I’ve been getting spammed like crazy from it! I really like the simplicity of […]
Like a lot of others here, I really preferred the menu in the ‘tools’ section. I use Ozh Admin Drop Down, and I only have so much space up top. With this plugin, there are now 5 items making their own menus up top.
I can go into the code and fix it myself, but I don’t fancy having to fix code each time a plugin updates.
However, complaints aside, I really do LOVE this plugin, and no matter what you decide to do with the menu I will continue to use it faithfully!
Thank you for creating this wonderful plugin for us. I even recommend it on my blog in my 12 WordPress Plugins I Can’t Live Without!
@pi – “No offense, but your documentation ….” and it is now your opportunity to create that documentation you so lament.
i am putting the code on my page where i want the form to show up, but it will not show up. what am i doing wrong? is there a different code to make this show up on my page?
[…] Many others current and planned >> […]