Material Design for Contact Form 7


Contact Form 7 forms can be as responsive and interactive as an app, just by adding Google’s “Material Design” theme.

Contact Form 7 style

This plugin provides a bunch of shortcodes that are made to wrap around your CF7 form tags and apply a material design theme to them.

Contact Form 7 + Material Design in action

Take 30 seconds and see how your contact forms could look. Watch the video below and/or play with the live demos.

What’s new in Version 2.0?

  • Uses the new Material Design. Text and select fields now come in boxed and outlined variants. Textareas now have an inner label. Check out the screenshots below.
  • New button variants. Elevated (default), unelevated and outlined.
  • Better browser support. IE11, iOS8+, plus all the modern browsers.
  • Custom CSS now has syntax highlighting.
  • You can choose to continue using the original/legacy styles if you prefer.

Contact Form 7 can be more interactive

Make your form fields react to user input more intuitively. Field labels start as placeholders and float up when you focus the field. Checkboxes and radios animate when you click them. Submit buttons include the Material Design ‘ripple’ effect. And more!

Currently supported:

  • Light or dark theme
  • Text input (includes text, email, url, tel, number, date) – boxed and outlined variants
  • Textarea with optional auto-resizing
  • Select/drop-down menu – boxed and outlined variants
  • Checkboxes
  • Radios
  • Acceptance
  • File upload field
  • Submit button (including loading spinner)
  • Quiz
  • ReCaptcha
  • Other (validation/success messages etc)

Pro version:

  • Customize colours and fonts
  • Arrange fields into columns
  • Turn radios and checkboxes into switches
  • Group fields into sections with cards
  • Direct email support

You can upgrade to pro at any time without leaving WordPress.

Works well with these other plugins:

  • Contact Form 7 Live Preview
  • Mailchimp for WordPress
  • Conditional Fields for Contact Form 7
  • Contact Form 7 Multi-Step Forms
  • Invisible reCaptcha for WordPress (but not CF7 Invisible reCaptcha)
  • Multifile Upload Field for Contact Form 7 (basic support)

Responsive Contact Form

Material Design for ContactForm7 is a fully responsive Contact Form 7 theme. It adapts to your screen size and works on any device.

Contact Form Style

Material Design for Contact Form 7 applies the default Material Design colours and fonts to your form by default, but you can use the WordPress customizer to change the fonts and colours to your liking if you’re on the Pro version.


  • A simple form
  • Simple form using the outlined style
  • Some more form fields, and custom colour (pro feature)
  • Dark theme example
  • Shortcode generator
  • Shortcode generator


  1. Upload the zip to the /wp-content/plugins/ directory and unzip
  2. Activate the plugin through the ‘Plugins’ menu in WordPress

OR go to ‘Plugins’ > ‘Add new’, and search for ‘material design for contact form 7’ to install through the WordPress dashboard.


What is Material Design?

Material Design is a set of guidelines, written by Google, that outline how your website or app should look and behave. Most Google apps use Material Design, including Android itself.

Do I need a Material Design theme as well?

Not at all! The beauty of Material Design is that you can take as much or as little of it as you like. It’s perfectly fine to just have your forms styled with Material Design and not the rest of your site.

For more ways to add Material Design to your WordPress site (without changing your theme), see WordPress Material Design.

How do I use this plugin?

All documentation can be found by clicking ‘Help’ (top right of the screen) and then ‘Material Design’ from the CF7 form editor screen.

For a more in-depth tutorial, see How to apply Material Design to Contact Form 7.

It doesn’t look right for me!

Some themes have styles that override the material design styles. If this happens to you, post a link to your form page in the support forum and I’ll help you fix it.


Very awful with its ‘Upgrade to Pro’ everywhere

I had to delete this plugin. Firstly I’ve didn’t notice any changes in my form even when wrapped it with [md-form]. And what is most auful is that my admin panel’s side bar now always shows me that I have to upgrade and pay for this shit.



Material Design for Contact Form 7 はオープンソースソフトウェアです。以下の人々がこのプラグインに貢献しています。


“Material Design for Contact Form 7” をあなたの言語に翻訳しましょう。

開発に興味がありますか ?

コードを閲覧するか、SVN リポジトリをチェックするか、開発ログRSS で購読してみてください。



  • Added a datepicker polyfill


  • Some CSS fixes for iOS date fields and labels


  • Fix columns on tight-spaced forms


  • Fix a PHP compatibility error


  • Fix an old bug in pre CF7v5 acceptance fields


  • Fix a bug in the upgrade from v1 process


  • Integrate with Multifile Upload Field for Contact Form 7


  • Entirely new Material Design library
  • Text and select fields now come in boxed or outlined variants
  • New button variants. Elevated (default), unelevated and outlined.
  • Textareas have an inner label
  • Better browser support
  • Custom CSS syntax highlighting


  • Fix a few bugs and an error that occured on older PHP versions


  • MAJOR NEW FEATURE: Shortcode Generator UI. No more manual shortcode creation and constantly referring to the documentation.
  • Slightly darkened the default label colour and input border


  • Fix an issue created by the 1.7.6 on some systems


  • Update the acceptance shortcodes to work with the latest CF7 update


  • Fixed a PHP warning when no custom styles had been set
  • GDPR compliance


  • Fixed a bug where you needed to toggle “Use custom styles” off and on again before it actually worked


  • Fixed a checkout issue


  • Behind-the-scenes updates


  • Fixed a JavaScript error in last release


  • Add customization option for button colours
  • Allow organising checkboxes and radios into columns
  • Fix “Changes you made may not have been saved” message on unedited forms
  • Allow hiding admin customize message on front end
  • Fix close button on ad for premium version
  • Update Freemius API
  • Better default styles for text field labels


  • Add a fix for themes that turn the submit input into a button


  • Added integration with Contact Form 7 Live Preview plugin


  • Added more customization options
  • Updated Freemius SDK
  • Added a shortcode to ensure layout attributes work when deeply nested
  • Fix a Firefox bug with select options on dark theme
  • Added some CSS to make themes less likely to override styles


  • Freemius SDK update, fixes a bug with staging/deployment
  • Added an affiliate program – earn money by promoting the plugin


  • Fix a bug with file inputs inside conditional field groups


  • Fix a bug with Safari and multi-column layouts


  • Added customize link to front end forms


  • Allow integration with other plugins
  • Updated documentation


  • Update Freemius SDK


  • Fix a bug with required select fields


  • Fix a bug with text field default values


  • Fix a bug with quiz field
  • Dequeue Roboto if not needed


  • Fix a couple of IE Edge bugs


  • Fix acceptance field bug


  • Fix iOS datepicker bug
  • Fix a CSS conflict with a WooThemes theme


  • Improve file upload styles


  • Update min-height of autosizing textareas


  • Feature: auto-resizing textareas
  • Better escaping of attributes and html
  • Better customization for file input
  • More consistent checkbox alignment with long and short labels


  • Make [md-text] shortcode work with html5 datepicker


  • Fix a negative margin issue with CSS grid


  • Minor behind the scenes updates


  • [Premium version] allow turning checkboxes and radios into switches
  • Update to fix vertical spacing with CSS grid


  • Added file upload field


  • Added spacing options
  • Added support for quiz and recaptcha


  • Improved docs


  • Minor bug fixes
  • Ensure CF7 plugin is active


  • Added plugin sub-menu page
  • Add pro version info


  • Under the hood updates


  • Refactored CSS to be more specific
  • Added dark theme option


  • First release