Description
Build, publish, and manage contact forms on your WordPress site. Drag-and-drop editor with live preview, built-in submission storage, and configurable email notifications.
Why Contact Forms by Cimatti
- 22 field types. Text, email, phone, select, checkboxes, file upload, date, color, and more.
- Drag-and-drop editor with live preview. See how the form looks while building it.
- Built-in submissions. Stored in your database, searchable, exportable to Excel.
- Custom CSS class and ID on every field, per-option on radios and checkboxes.
- Accessible by default. WCAG 2.2 AA and European Accessibility Act.
- Privacy ready. GDPR data retention with automatic anonymization.
- All included. No subscription, no ads, no hidden fees.
Build Forms Quickly
Create forms with drag-and-drop. Create custom fields from Contact Forms > Fields and reuse them across forms.
Field types: Text Field, Text Area, Email, Autoreply Email, Telephone, Checkbox, Select, Radio Buttons, Multiple Select, Multiple Checkboxes, Post Select, Multiple Post Checkboxes, Date, Color Picker, Hidden Value, File Upload, Password, Password and Confirmation, Custom HTML, Fieldset, Captcha, Turnstile, and Submit Button.
Default fields on activation: First Name, Last Name, Email (autoreply), Address, City, State/Province, Country, Message, Telephone, Captcha, and Turnstile.
Accessibility Built In
Contact Forms 2.0 was built with accessibility at its core:
* ARIA attributes (aria-required, aria-invalid, aria-describedby, aria-live)
* Validation summary with links that scroll to and focus each field
* Inline validation messages on blur and change events
* Keyboard-accessible file upload with screen reader support
* Respects prefers-reduced-motion
Three Layout Options
Standard (labels above fields), Side-by-Side (labels left), and Inline Labels (floating labels that move above the field on focus). All responsive and accessible.
Customize Your Forms
- Custom validation messages per field and per form
- Colors, margins, button styles in the Appearance tab
- Custom success and error messages per form
Email Notifications
Admin and visitor emails with tokens ({first_name}, {email}, {__submitted_html}, etc.), conditional tags, and custom From address.
GDPR and Data Retention
- Configurable data retention per form (days, months, or years)
- Anonymization or deletion for expired data, via WP-Cron
- WordPress Privacy API integration
- Deactivation cleanup options
Submissions Management
Sortable list with submitted fields as columns. Lead statuses, notes, search, filter, Excel export.
Dashboard and Analytics
Submission charts filtered by form, period, or page.
Spam Protection
- Captcha – Google reCAPTCHA v2 (keys configured in Settings) or math-based fallback
- Turnstile – Cloudflare Turnstile via the Simple Cloudflare Turnstile plugin
- Honeypot – Hidden field technique
File Upload
Drag-and-drop file upload with visual dropzone, keyboard navigation, configurable extensions.
Developer Friendly
- Gutenberg block and classic editor button for embedding forms
- Custom CSS class and ID on all field types, per-option on radios/checkboxes
- Extension hooks for custom field types
- WordPress Filters for form generation, validation, and custom tokens
- English, Italian, and Spanish translations, WPML supported
Theme Helper
Scans your theme’s CSS for conflicts with Contact Forms. Shows conflicting selectors and properties.
What Changed in Version 2.0
Version 2.0 is the result of five months of focused development:
- Accessibility rewrite (WCAG 2.2 AA / European Accessibility Act)
- Live preview in the form editor
- Inline Labels layout (floating labels)
- GDPR data retention, anonymization, and Privacy API
- Turnstile and reCAPTCHA v2
- Drag-and-drop file upload
- Telephone field with E.164 validation
- Submissions list with Excel export
- Gutenberg block
- Danger Zone and deactivation cleanup
Privacy Notices
With the default configuration, this plugin does not track users, send data to external servers, or use cookies on the frontend.
If you use reCAPTCHA, data may be sent to Google. If you use Turnstile, data may be sent to Cloudflare.
Docs and Support
Documentation and FAQ: cimatti.it. Support: WordPress.org forum.
Where do I report security bugs?
Through the Patchstack Vulnerability Disclosure Program.
Screenshots

Form editor with live preview. Drag fields from the panel, configure options, and see the result update instantly. 
Frontend: standard layout. Clean contact form with labels above fields. 
Frontend: Inline Labels. Floating labels that move above the field on focus. 
Frontend: file upload. Job application form with drag-and-drop upload dropzones. 
Frontend: validation errors. Inline messages per field and a clickable validation summary. 
Frontend: success message. Customizable thank-you message with dynamic token replacement. 
Submissions list. Sortable columns, lead status, row actions, search, and Excel export. 
Single submission. Job application with 11 fields, file downloads, lead status, and notes. 
Dashboard. Track submissions over time with charts filtered by form, period, and content type. 
Form list. All forms with shortcodes, admin email, data retention policy, and submission count. 
Settings. Default success and error messages, admin notification template, and confirmation email template. 
Block editor. Insert forms from the Gutenberg block inserter.
Blocks
This plugin provides 1 block.
- Contact Form Display a contact form created with Contact Forms by Cimatti.
Installation
- Upload /contact-forms/ to /wp-content/plugins/, or install from the WordPress plugin repository.
- Activate the plugin through the Plugins menu.
- Go to Contact Forms > Forms and create a form with the drag-and-drop editor.
- Embed the form using the Gutenberg block, the classic editor button, or the shortcode.
FAQ
For the full FAQ, see cimatti.it/en/wordpress-plugins/contact-forms/faq.
-
How do I create a form?
-
Go to Contact Forms > Forms. Drag fields into your form, configure each one, click Save, then embed in any page.
-
How do I embed a form in a page?
-
In the block editor, add the “Contact Form” block. In the classic editor, click the “C” button. Or copy the shortcode from the form list.
-
Does the plugin store form submissions?
-
Yes. Every submission is stored in your WordPress database, searchable and exportable to Excel from Contact Forms > Submissions.
-
Is the plugin accessible?
-
Yes. Version 2.0 targets WCAG 2.2 AA and European Accessibility Act requirements. All elements include ARIA attributes, errors use role=”alert”, and the validation summary links directly to each field.
-
Does it work with page caching plugins?
-
Yes. If the nonce expires, the plugin retries before falling back to a standard POST submission.
-
How does data retention work?
-
Set a data retention policy (days, months, or years) and choose anonymization or deletion. Each form can override the global setting. Expired submissions are cleaned up via WP-Cron.
-
How do I protect my forms from spam?
-
Drag a Captcha field into your form. With reCAPTCHA v2 keys configured in Settings, it uses Google reCAPTCHA. Without keys, it falls back to a math captcha. You can also use Cloudflare Turnstile via the Simple Cloudflare Turnstile plugin.
-
Does it support the block editor (Gutenberg)?
-
Yes. Search for “Contact Form” in the block inserter and select your form.
-
Can I change the form language?
-
Available in English, Italian, and Spanish. WPML supported. To show a form in another language, duplicate it and override the field labels.
-
What file types can visitors upload?
-
Defaults include pdf, doc/docx, xls/xlsx, ppt/pptx, odt, txt, csv, jpg, png, gif, webp, svg, zip, rar, and more. Customizable per field.
-
Can I anonymize submitted data for GDPR?
-
Yes. Anonymize individual submissions or in bulk. Personal data is replaced with placeholders while keeping the record for statistics. WordPress Privacy API exporter and eraser are also integrated.
Reviews
Contributors & Developers
“Contact Forms by Cimatti” is open source software. The following people have contributed to this plugin.
ContributorsTranslate “Contact Forms by Cimatti” into your language.
Interested in development?
Browse the code, check out the SVN repository, or subscribe to the development log by RSS.
Changelog
2.0.0
Major rewrite focused on accessibility, modern admin UI, and GDPR compliance.
Important: CSS changes may affect layouts customized via theme CSS. Use Theme Helper to find conflicts and prefer the Appearance tab.
- Accessibility rewrite (WCAG 2.2 AA / European Accessibility Act)
- Inline Labels layout (floating labels)
- Live preview in the form editor
- GDPR data retention, anonymization, and Privacy API
- Turnstile and reCAPTCHA v2
- Drag-and-drop file upload, telephone field with E.164 validation
- Custom validation messages and CSS class/ID on all fields
- Sortable submissions list with Excel export
- Gutenberg block, Theme Helper, Danger Zone
- English, Italian, and Spanish translations
Full changelog in changelog.txt in the plugin.
1.9.14
- Added Cloudflare Turnstile field integration
