Description
GriffinForms is a contact form plugin and WordPress form builder built for structured, multi-step forms. It uses a drag and drop layout system (pages, rows, and columns), supports conditional logic, and stores submissions on your site so your data stays under your control.
If you need a WordPress form plugin that can handle everything from a simple contact form to a multi step form workflow, GriffinForms focuses on clean layouts, predictable form behavior, and practical admin tools.
For teams that need stronger oversight, GriffinForms includes compliance-ready controls, submission metadata, and audit-friendly logging. You can review submission context (version, metadata events), download compliance data, and use builder warnings to catch common gaps before publish.
Quick Start
- Create a form in GriffinForms Forms.
- Build your layout with pages, rows, and columns, then add fields.
- Publish with the shortcode
[griffinforms_form id="123"].
Key Features
- Drag and drop form builder: build structured forms with pages, rows, columns, and multiple field types.
- Multi-page forms: add steps for longer workflows with clear page navigation.
- Conditional logic: show or hide fields and sections based on user input (conditional fields).
- File upload fields: collect documents or screenshots when your workflow needs attachments.
- Submissions in WordPress: view entries in the admin and keep data in your database.
- Themes: apply form themes so your contact form matches your site design.
- Payments (Stripe): collect payments when enabled and configured.
- CAPTCHA options: support reCAPTCHA, Cloudflare Turnstile, or hCaptcha.
- Email delivery: send notifications using WordPress mail or configured providers like Custom SMTP or SendGrid.
Use Cases
- Contact form pages and support intake
- Registration and request forms
- Multi step form wordpress workflows with multiple pages
- File upload forms for applications or support tickets
- Payment forms (Stripe forms) for donations or simple orders
Layout-first builder
GriffinForms treats layout as a core part of form building. Use pages to split long flows, rows to group content, and columns to control alignment. This structure makes complex forms easier to maintain and helps users complete longer submissions without fatigue.
Conditional logic for smarter forms
Conditional logic lets you build adaptive forms that respond to user input. Use it to show or hide fields, simplify longer questionnaires, or guide users through the right path based on their selections.
Submissions and data
Submissions are stored in your WordPress database. You can review entries from the admin area, and logs are available for troubleshooting when enabled.
Payments when you need them
If you enable Stripe, you can build payment forms that collect payments as part of a submission. This is useful for donations, paid applications, and simple order-style forms.
Spam protection
Choose a CAPTCHA provider that fits your site. GriffinForms supports Google reCAPTCHA, Cloudflare Turnstile, and hCaptcha so you can add spam protection without locking every form behind a heavy challenge.
Email notifications
Send admin notifications or autoresponders using WordPress mail or a configured provider such as Custom SMTP or SendGrid.
Autoresponders (email users after submission)
Enable an autoresponder to send a confirmation email to the person who submitted the form. You can include their answers in the message using merge tags so the email is personalized and useful.
Admin notifications with form data
Send submission alerts to one or more admin emails and include key fields (name, email, selections) using merge tags. This is helpful for support, sales, and intake workflows where you need details right away.
Products in forms
Add products or services to a form using the Payment field and let users select quantities. This turns a contact form into a simple order or donation form when Stripe is enabled.
Turn a form into a template
If you need the same form on multiple sites, export it as JSON and import it elsewhere. You can also import a form directly as a template so it stays in your template library instead of being created as a new form. This is a quick way to reuse onboarding, registration, or request forms without rebuilding them.
Themes and styling
Apply presets like a dark form theme or create your own so forms match your brand.
Privacy and external services
By default, GriffinForms stores form data on your site. External services are only used when you enable them (payments, CAPTCHA, or email delivery). See the External Services section below for details.
External Services
GriffinForms can connect to these third-party services when enabled:
– Google reCAPTCHA (spam protection): Terms and Privacy
– Stripe (payments): Terms and Privacy
– Cloudflare Turnstile (spam protection): Terms and Privacy
– hCaptcha (spam protection): Terms and Privacy
– SendGrid (email delivery): Terms and Privacy
– Mailgun (email delivery): Terms and Privacy
Learn more
- Documentation: GriffinForms Docs
- Templates: Form Templates
- Releases: Release Notes
- Privacy: Privacy Policy
License
GriffinForms is open source and licensed under GPLv2 or later.
Screenshots

Drag-and-drop WordPress form builder with pages, rows, columns, and fields 
Frontend form view with the default theme 
Frontend themed form (light preset) applied 
Editing the themed form (same theme as screenshot 3) 
Frontend themed form (dark preset) applied 
Live editing of the dark themed form (admin builder) 
Frontend form with Product/Payment field 
Frontend Review & Pay step for Stripe payments 
Frontend file upload field with queued files 
Theme selection modal with presets 
Edit theme view (Theme Designer controls) 
Conditional Logic modal (rules list view) 
Conditional Logic modal (edit rule view) 
Dragging a field pill to create a new field 
Dragging a row to sort layout structure 
Resizing a column to adjust layout 
Text field edit view with validation settings 
Checkbox field edit view + frontend preview (creating a multi-column checkbox grid) 
Form creation modal with template selection 
Admin Submissions list view
Blocks
This plugin provides 1 block.
- GriffinForms Form Embed a GriffinForms form and see a quick preview in the block editor.
Installation
- Upload the plugin to the
/wp-content/plugins/griffinforms-form-builderdirectory or install it via the WordPress plugin screen. - Activate it through the Plugins screen.
- Go to the GriffinForms menu in the admin sidebar to start building forms.
FAQ
-
How do I add a contact form to WordPress?
-
Create a form in GriffinForms, then embed it with the shortcode
[griffinforms_form id="123"]in any post or page. -
Can I build multi-step (multi-page) forms?
-
Yes. Use pages in the builder to create multi-step forms with navigation.
-
Does GriffinForms support conditional logic?
-
Yes. You can show or hide conditional fields based on user input.
-
Can I collect file uploads?
-
Yes. Add a File Upload field to accept documents or media with a submission.
-
How do I reduce spam (reCAPTCHA/Turnstile/hCaptcha)?
-
Choose a CAPTCHA provider (reCAPTCHA, Cloudflare Turnstile, or hCaptcha) and enable it in the integrations settings.
-
Where are submissions stored?
-
Submissions are stored in your WordPress database. File uploads are stored in the WordPress uploads directory.
-
Does it work with Gutenberg or page builders?
-
Yes. Use the shortcode in the block editor or your page builder’s shortcode/widget block.
-
Can I send emails via SMTP/SendGrid/Mailgun?
-
Yes. Configure Custom SMTP, SendGrid, or Mailgun for email delivery.
-
Do I need Stripe to use payments?
-
Stripe is required for payment processing. If you do not enable Stripe, you can still use GriffinForms for non-payment forms.
-
Can I create payment forms with Stripe?
-
Yes. Stripe forms are supported when payments are enabled and configured.
-
Where can I find documentation?
-
See the docs at GriffinForms Docs.
-
Is GriffinForms free?
-
Yes. The core plugin provides the full feature set with no paid tiers.
Reviews
Contributors & Developers
“GriffinForms – Contact Form Builder & Multi-Step Forms” is open source software. The following people have contributed to this plugin.
ContributorsTranslate “GriffinForms – Contact Form Builder & Multi-Step Forms” into your language.
Interested in development?
Browse the code, check out the SVN repository, or subscribe to the development log by RSS.
Changelog
2.3.2.0 – 2026-02-14
- Fix: Added themed/no-theme validation parity so invalid controls are clearly highlighted in themed frontend forms.
- Fix: Removed leftover frontend theme asset debug
error_log()output. - Fix: Prevented
Undefined array key "email_domain"warning in excluded email domain validation messaging. - Fix: Corrected relation sync on page delete so
formpagesstays consistent and form list page counts remain accurate. - Fix: Stabilized builder form-tree toggle behavior and resolved jerky right-sidebar accordion close motion.
- Fix: Improved no-theme responsive behavior in narrow containers (row/action button stacking) and aligned Gutenberg no-theme preview button styling with frontend defaults.
2.3.1.0 – 2026-02-08
- Fix: Restored a clear phone country dropdown caret across frontend, form builder, and Gutenberg preview renderers.
- Improvement: Phone country select sizing and compact behavior refined to avoid overlap and unbalanced wide-field layouts.
- Fix: Phone input-group border sync now preserves asymmetric theme border styles (per-side width/style/color) across renderers.
- Improvement: Message editor now preserves allowlisted HTML better between Code/Visual modes.
- Improvement: Message save sanitization now uses a dedicated allowlist policy for email-safe HTML (including heading tags).
- Fix: Removed invalid frontend theme stylesheet dependency causing
WP_Styles::addnotices on newer WordPress versions.
2.3.0.0 – 2026-02-06
- Feature: Compliance profiles (Standard, GDPR, HIPAA‑ready) with per‑form inherit/custom overrides.
- Feature: Submission metadata timeline with page + payment events and form version context.
- Feature: Builder warnings pipeline with status bar counts and overlays.
- Feature: WordPress Tools export/erase integration for GriffinForms data.
- Improvement: Compliance downloads now include full layout snapshots for traceability.
- Improvement: GDPR profile masks IPs and stores summarized user agent details.
2.2.0.0 – 2026-02-01
- Feature: Form builder right sidebar now includes Form and Element tabs with auto-switching.
- Feature: Form tab adds Summary, Structure, Recent Logs, and Recent Submissions widgets.
- Improvement: Right sidebar structure tree visuals refined (chips, counts, row bars) and accordion controls added.
- Improvement: Form summary now links to submissions list and theme modal.
2.1.9.1 – 2026-01-30
- Improvement: Auto-select phone country based on browser locale when no selection is set (phone + address).
- Improvement: Phone country dropdown width now adapts to display mode (flag + code + name vs code-only).
- Fix: Divider visibility between phone dropdown and number input in the form builder.
- Fix: Narrow layouts no longer push the phone dropdown/input onto separate rows.
