Contact Coldform


Contact Coldform is a secure, lightweight, flexible contact form with plenty of options and squeaky clean markup. Coldform blocks spam while making it easy for your visitors to contact you from your WordPress-powered website.

The plugin settings make it easy to take full control with plenty of options and several built-in themes for styling the form. Coldform delivers everything you need and nothing you don’t — no frills, no gimmicks, just pure contact-form satisfaction.

Even better! Check out my new Ajax-powered Contact Form X »


  • Use shortcode or template tag to display Coldform anywhere
  • Coldform sends descriptive, well-formatted plain-text email
  • Safe and secure: Coldform blocks spam and malicious content
  • Lightweight, standards-compliant, semantic, valid HTML markup
  • Easy to configure and style from the Coldform Settings page


  • Slick toggle-panel Settings Page makes it easy to customize
  • Style Coldform using built-in «coldskins» or use custom CSS
  • Use template tag to display Coldform anywhere in your theme
  • Use shortcode to display Coldform on any WP Post or Page
  • Displays customizable confirmation message to the sender

Anti-spam & Security

  • Anti-spam: Coldform includes optional challenge question
  • Bot trap: hidden input field further reduces automated spam
  • Solid security: protects against bad bots and malicious input
  • User-friendly error messages to help users complete the form

Customize Everything

  • Includes option to enable users to receive carbon copies
  • Coldform message includes IP, host, agent, and other details
  • Customize field captions, error messages, and success message
  • Includes three built-in themes «coldskins» to style, or
  • Style the Coldform with your own custom CSS
  • Option to add a custom prefix to the subject line
  • Option to disable the captcha for registered users

Clean Codes

Coldform brings delicious code on every front:

  • Standards-based code, built with the WordPress API
  • Valid, semantic source code with proper formatting
  • Coldform emails include descriptive, well-formatted content
  • Better performance: CSS loaded only when form is displayed

More Features

  • Works perfectly without JavaScript
  • Option to reset default settings
  • Options to customize many aspects of the form
  • Options to customize success, error, and spam messages
  • Option to enable and disable CSS styles
  • Works perfectly with or without Gutenberg Block Editor

Like Contact Coldform? Please give a 5-star rating, thank you!


Contact Coldform enables visitors to send a message via contact form. Any information that the user enters into the form will be sent directly to the recipient(s) according to plugin settings. Each email message optionally includes the sender’s IP address, user agent, and other data (visit the plugin setting «Disable Data» to disable sending of IP address and other user data). This plugin does not collect or store any user data. It does not set any cookies, and it does not connect to any third-party location(s).

Contact Coldform is developed and maintained by Jeff Starr, 15-year WordPress developer and book author.

Support development

I develop and maintain this free plugin with love for the WordPress community. To show support, you can make a donation or purchase one of my books:

And/or purchase one of my premium WordPress plugins:

Links, tweets and likes also appreciated. Thanks! 🙂


  • Contact Coldform: Contact form displayed via Twenty Sixteen theme
  • Contact Coldform: Settings page showing default options (each panel toggles open/closed)



  1. Install and activate via the Plugins screen
  2. Visit the plugin settings to configure options

More info on installing WP plugins


To display Coldform on any Post or Page, add the Shortcode:


To display Coldform anywhere in your theme, add the Template Tag:

<?php if (function_exists('contact_coldform_public')) contact_coldform_public(); ?>


To customize Coldform, visit the plugin settings. For advanced customization, check out CSS hooks for Contact Coldform. For more information, visit the Coldform Homepage.

Like the plugin?

If you like Contact Coldform, please take a moment to give a 5-star rating. It helps to keep development and support going strong. Thank you!


Where does the shortcode go? What about the template tag?

The shortcode may be used on any Post or Page. For example, if you log in to the Admin Area and view a Page named «Contact», you can add the shortcode anywhere in the Page content to display the form. To use the template tag, add it to the desired location in your theme template. For example, if you have a custom page template named page-contact.php, you could add the template tag directly after <?php the_content(); ?> to display the form.

Where does the CSS go? How do I change the form styles?

Visit the «Appearance and Styles» panel in the plugin settings. There you may configure appearance and add custom CSS for the form.

Can I add multiple Coldforms to my site?

Yes, you can add multiple instances of the shortcode and/or template tag.

What is the plugin setting for the «From Address»?

That setting enables you to customize the address used as the «From» header for email messages. By default, Coldform uses the same address that is used by WordPress to send alert messages. So if WP is installed on, the default value is something like «». That address is proven to work great for most setups. But the option is there if you know what you are doing and want to change it to something else. If in doubt for the «From Address» setting, just use the default value, «» (replace «» with your actual domain name).

Questions & Comments

I try to keep an eye on the WordPress forums, but it’s best to contact me directly with questions or concerns. Thanks.


14 de septiembre de 2019
If you want simple and straight forward contact form, this is good. A few nice features are template tag beside shortcode, antispam challenge customization, and success/error messages customization. However I need a couple more form fields of my own but am stuck with jus the basic fields. No custom fields available which is essential. Hope that the author adds custom fields in the future and wins me back.
16 de mayo de 2017 3 respuestas
This is a wonderful contact plugin, except that when one fills out the form the text does not get centered vertically in the box so you cannot read what you type. Is this something that can be fixed in the next update?
20 de octubre de 2016 1 respuesta
I am no longer confidant in this contact form. recently I've had many people email me because they said I never contacted them after the filled out the contact form. Not good for business! I'm looking for a better one.
3 de septiembre de 2016
Thanks for Contact Coldform. It's easy to use, offers all modern requirements for a contact form and is light weight. regards theo
3 de septiembre de 2016
Exactly what I was looking for... simple, clean, and straight forward. Thank you! Much appreciated!
3 de septiembre de 2016
Simple, easy to edit.
Leer todas las 14 reseñas

Colaboradores y desarrolladores

«Contact Coldform» es un software de código abierto. Las siguientes personas han colaborado con este plugin.


«Contact Coldform» ha sido traducido a 1 idioma local. Gracias a los traductores por sus contribuciones.

Traduce «Contact Coldform» a tu idioma.

¿Interesado en el desarrollo?

Revisa el código , echa un vistazo al repositorio SVN o suscríbete al registro de desarrollo por RSS.

Registro de cambios

FYI: For a much better contact-form plugin, check out Contact Form X. CFX is lighter, faster, and better than Contact Coldform in every way. Same great developer, waaayy better code 🙂

Version 20231019

  • Tests on WordPress 6.4 (beta)

Version 20230708

  • Improves support panel logic
  • Improves localization function
  • Improves font-icon CSS styles
  • Tests on WordPress 6.3 (beta)

Version 20230225

  • Tweaks settings UI
  • Improves responsive styles
  • Improves logic when calling get_current_screen()
  • Moves WP Resources panel to its own function
  • Removes SES Pro from WP Resources panel
  • Tests on WordPress 6.1 + 6.2 (beta)
  • Tests on PHP 8.1 and 8.2

Version 20220924

  • Adds custom footer text to plugin settings
  • Tests on WordPress 6.1

Version 20220923

  • Improves plugin documentation
  • Tests on WordPress 6.1

Version 20220515

  • Improves loading of language files
  • Tests on WordPress 6.0

Version 20220108

  • Updates support panel
  • Updates resource in readme.txt
  • Changes minimum required WP version to 4.6
  • Fixes warning on PHP 8.1
  • Tests on WordPress 5.9

Version 20210712

  • Tests on WordPress 5.8

Version 20210208

  • Tests on WordPress 5.7

Version 20201108

  • Fixes a PHP warning
  • Tests on PHP 7.4 and 8.0
  • Tests on WordPress 5.6

Version 20200728

  • Changes the default «From Address» to «»
  • Refines plugin setting page styles
  • Refines readme/documentation
  • Tests on WordPress 5.5

Version 20200308

  • Updates blurb on plugin settings page
  • Generates new default translation template
  • Tests on WordPress 5.4

Version 20191024

  • Updates styles for plugin settings page
  • Generates new default translation template
  • Tests on WordPress 5.3

Version 20190902

  • Updates some links to https
  • Updates information on plugin page
  • Tests on WordPress 5.3 (alpha)

Version 20190428

  • Bumps minimum PHP version to 5.6.20
  • Tweaks plugin settings screen content
  • Updates default translation template
  • Tests on WordPress 5.2

Version 20190304

  • Tweaks plugin settings screen UI
  • Generates new default translation template
  • Tests on WordPress 5.2 (alpha)

Version 20190220

  • Compatibility tests on WordPress 5.1

Version 20181112

  • Adds homepage link to Plugins screen
  • Updates default translation template
  • Tests on WordPress 5.0 (beta)

Version 20180813

  • Adds rel="noopener noreferrer" to all blank-target links
  • Updates donate link
  • Updates GDPR blurb
  • Adds Contact Form X blurb
  • Regenerates default translation template
  • Further tests on WP versions 4.9 and 5.0 (alpha)

Version 20180506

  • Adds option to disable user data collection (IP, user agent, et al)
  • Generates new translation template
  • Adds support for multiple «To» addresses
  • Updates Show Support panel
  • Updates plugin image files
  • Tests on WordPress 5.0

Version 20171103

  • Removes extra manage_options requirement for settings
  • Tests on WordPress 4.9

Version 20171019

  • Adds extra manage_options capability check to modify settings
  • Improves logic of contact_coldform_require_wp_version
  • Streamlines Support panel in plugin settings
  • Tests on WordPress 4.9

Version 20170730

  • Fixes «captcha can’t be disabled» bug
  • Adds GPL license.txt file
  • Tests on WordPress 4.9 (alpha)

Version 20170322

  • Tweaks info panels on settings page
  • Refines styles for admin notices
  • Adds option to customize the From email address
  • Adds nonce security to contact form
  • Removes get_permalink() from form action attribute
  • Improves styles of default success message
  • Adds default charset to htmlentities()
  • Generates new default translation template
  • Tests on WordPress version 4.8

Version 20161114

  • Fixed various PHP Notices
  • Refactored and refreshed entire codebase
  • Improved sanitization of submitted form content
  • Improved sanitization of contact_coldform_validate_options()
  • Improved logic of contact_coldform_register_style()
  • Improved logic of contact_coldform()
  • Beefed up abbr styles on settings page
  • Defined color for form error messages
  • Defined padding on fieldset elements
  • Changed Twitter URL to https
  • Updated plugin author site URL
  • Updated URL for rate this plugin links
  • Changed stable tag from trunk to latest version
  • Refined default settings (single quotes to double quotes)
  • Double quotes now allowed in success and error messages
  • Added German translation
  • Regenerated default translation template
  • Tested on WordPress version 4.7 (beta)

Version 20160810

  • Improved translation support
  • Replaced _e() with esc_html_e() or esc_attr_e()
  • Replaced __() with esc_html__() or esc_attr__()
  • Removed support for Intranet Plus plugin
  • Refined some styles on the settings page
  • Tested on WordPress 4.6

Version 20160329

  • Added Reply-To header
  • Removed quotes from Content-Type header
  • Added screenshots to assets (repo)
  • Added 1544×500 banner to assets (repo)
  • Replaced Coldform icon with retina version
  • Added UTF-8 default to blog_charset option
  • Added support for Intranet Plus plugin
  • Tested on WordPress 4.5 beta

Version 20151109

  • Updated minimum version requirement
  • Update heading hierarchy on settings page
  • Fixed incorrect escaping for quotes
  • Refined contact_coldform() function
  • Added coldform_sanitize_text() function
  • Removed word wrap for message content
  • Updated whois lookup link in emails
  • Added support for HTTPS
  • Tested on WordPress 4.4

Version 20150808

  • Tested on WordPress 4.3
  • Updated minimum version requirement

Version 20150507

  • Tested with WP 4.2 + 4.3 (alpha)
  • Changed a few «http» links to «https»

Version 20150314

  • Tested with latest version of WP (4.1)
  • Increased minimum version to WP 3.8
  • Removed deprecated screen_icon()
  • Removed redundant htmlentities()
  • Replaced htmlentities() with sanitize_text_field()
  • Added $contact_coldform_wp_vers
  • Streamline/fine-tune plugin code
  • Added Reply-To and Return-Path to email headers
  • Added Text Domain and Domain Path to file header
  • Replaced default .mo/.po templates with .pot template

Version 20140922

  • Tested with latest version of WP (4.0)
  • Added option to show/hide the website field
  • Increased minimum version to WP 3.7
  • Added conditional check for minimum version function
  • Updated mo/po translation files

Version 20140305

  • Improved localization support
  • Generated new mo/po templates
  • Bugfix: undefined index: coldform_carbon
  • Bugfix: replaced ‘gmt_offset’ with ‘coldform_offset’
  • Update: changed the description and default option for GMT setting

Version 20140123

  • Tested with latest version of WordPress (3.8)
  • Added option to display or not display the anti-spam/captcha field
  • Added trailing slash to URL for load_plugin_textdomain()

Version 20131107

  • Added uninstall.php file
  • Added «rate this plugin» links
  • Added support for i18n

Version 20131103

  • Edited readme.txt install steps for clarity
  • Removed «Δ» from die() for better security
  • Tested plugin with current version of WordPress (3.7)

Version 20130725

  • Tightened form security
  • Tightened plugin security

Version 20130704

  • Added localization support
  • Cleaned/updated/optimize code
  • Overview and Updates admin panels now open by default
  • Resolve PHP Notices for «Undefined variable» and «Undefined Index»
  • Changed the placeholder attribute of the antispam field

Version 20130103

  • Added margins to buttons (now required due to CSS changes in WP 3.5)

Version 20121119

  • Now supports both shortcodes: [coldform] and [contact_coldform]
  • Renamed register_my_style() to contact_coldform_register_style()
  • Removed border on all fieldsets via CSS
  • Added padding to input and textareas via CSS
  • Replaced answer with question in anti-spam placeholder
  • Added placeholder attributes to error fields
  • Fixed styles to load on success page

Version 20121031

  • rebuilt with cleaner, smarter code
  • restructured markup, cleaner hooks
  • revamped settings page with toggling
  • includes three «coldskins» for styling
  • enable user to upload custom CSS styles
  • toggle on/off the built-in coldskins
  • conditional load of styles only on Coldform
  • improved markup for required, error, success output
  • option to disable the captcha for registered users
  • now use admin email, name, site title by default
  • now using built-in wp_mail for email
  • removed the credit link and option
  • add option for subject line prefix
  • add HTML5 placeholder attributes
  • add hidden anti-spam field

Version 0.88.1

  • Compatibility with WordPress version 2.8.1 by setting admin_menu.

Version 0.88.0

  • Versión inicial.