GriffinForms – Form Builder

plugin banner

Create fast, flexible forms with drag & drop, multi-page layouts, reusable fields, validations, and submission manager.

Author:griffinforms (profile at wordpress.org)
WordPress version required:6.6
WordPress version tested:6.9.4
Plugin version:2.4.3.1
Added to WordPress repository:24-05-2025
Last updated:30-03-2026
Rating, %:100
Rated by:3
Plugin URI:https://griffinforms.com/
Total downloads:2 391
Active installs:10+
plugin download
Click to start download

GriffinForms is a WordPress form builder for multi-step forms, user registration, uploads, payments, and forms that need more than a single message field. It gives you stronger control over how the form looks, behaves, and continues after submission.

It is a better fit for registration forms, applications, requests, uploads, and payment collection than for a simple one-page contact form. If you need forms that do real work, GriffinForms is built for that next step.

Why teams choose GriffinForms

  • Multi-step forms: break longer forms into pages so users can complete structured flows without feeling overwhelmed.
  • WordPress user registration: create WordPress users from form submissions with immediate, pending-activation, or manual-review workflows, plus duplicate-account handling and account-action visibility in the admin area.
  • File uploads: support multi-file uploads per field with controls for file types, size limits, file counts, image constraints, and storage behavior.
  • Stripe payments: build payment forms with product-style workflows, product images, a cart-style review step, and resume links for pending payments.
  • Email and notifications: send notifications and autoresponders through WordPress mail, Custom SMTP, SendGrid, or Mailgun, with reusable messages and merge variables.
  • Spam protection: choose from reCAPTCHA, Cloudflare Turnstile, or hCaptcha, and combine them with native rate limiting and backend anti-spam checks.
  • Conditional logic: go beyond simple show and hide with rules that can change labels, values, headings, success messages, redirects, and submit behavior.
  • Templates and theming: turn forms into reusable templates, then style them with built-in themes or your own custom theme variations.
  • Submission clarity in WordPress: review entries in a richer admin view with timelines, logs, metadata, and settings history when troubleshooting production forms.

Best-fit use cases

  • WordPress user registration forms with account creation or admin review
  • Multi-step request and intake forms
  • Application forms with file uploads
  • Support workflows with conditional fields
  • Payment forms for donations, simple orders, or paid requests
  • Multi-step forms where incomplete submissions should still stay visible in the admin area
  • Forms that need stronger styling control, clearer notifications, and better admin visibility

Built for structured form workflows

GriffinForms treats layout as a core part of form building. The drag-and-drop builder uses pages, rows, columns, sidebar controls, and reusable fields to make complex forms easier to shape and maintain. Then you can layer in conditions, uploads, notifications, and payments where needed. This makes longer forms easier to manage and easier for users to complete.

Reusable fields also help solve a common admin problem: teams should not need to recreate the same Name, Email, Phone, or Address field across every new form. Common fields can be managed from one place, which helps keep repeated workflows faster to build and more consistent over time.

File uploads with practical control

File uploads are not limited to a basic attachment field. GriffinForms supports multi-file uploads per field and is designed for workflows where uploads matter, such as applications, support requests, and document collection. For example, an application form can collect resumes, ID documents, certificates, and supporting images in one submission instead of forcing users to send files separately later. You can control allowed file types, per-file and total upload size limits, max file counts, image-specific constraints, and storage behavior, then manage uploaded files from WordPress.

Stripe payments and product workflows

If you enable Stripe, GriffinForms can handle payment collection inside the form flow. This is useful for donations, simple product or service requests, paid applications, and other workflows where payment is part of submission instead of a separate checkout. GriffinForms also supports a fuller review-and-pay pattern with product-style selections, product images, and cart-style summaries. For pending payments, resume links can bring users back so they can continue from where they left off.

Strong conditional logic layer

Conditional logic in GriffinForms goes beyond a simple show-or-hide toggle. You can use field, row, and form-level rules to change labels and values, control headings and visibility, swap success messages, trigger redirects, and adjust submit-button behavior.

Conditions also go beyond basic text matching. GriffinForms supports checks across field values, counts, password strength, browser time, address parts, and payment-specific conditions such as product, gateway, totals, and counts. That makes it useful for smarter routing, cleaner payment flows, and forms that react as the submission takes shape.

For example, you can show a payment step only when a paid option is selected, then change the success message or redirect users to a different next step after submission.

Themable forms with deeper styling control

Forms should not look disconnected from the rest of your site. GriffinForms includes built-in themes, but the theme system goes further than picking a preset. You can create new themes from scratch or modify existing ones with control over typography, layout, inputs, buttons, and states such as hover, focus, and active. Dark themes also look especially strong in GriffinForms, which helps when you want forms to feel more polished and deliberate instead of settling for one generic form look.

Submissions, logs, and admin visibility

Submissions are stored in your WordPress database, but the admin experience goes further than a simple entry list. GriffinForms includes a richer submission view with metadata, payment context where applicable, submission-specific logs, and event timelines so you can follow what happened to a submission and where it changed.

Native logging adds another layer of visibility for production sites. Timeline-style logs, searchable categories, job visibility, retention settings, and settings history make it easier to troubleshoot failed steps, trace changes, and understand what happened over time.

GriffinForms also supports partial submissions, which means incomplete multi-step submissions can still remain visible in the admin area when that workflow matters.

WordPress account registration workflows

GriffinForms includes a flexible user registration workflow for registration forms that need to create or manage WordPress users after submission. You can build a simple WordPress registration form for one account, or use an iterable email field for multi-user registration from a single form submission. GriffinForms lets you choose whether a registration form should use a mapped password or send the native WordPress password setup link, assign the WordPress user role for the account being created, and map optional profile data such as username, first name, last name, and profile image when the form collects it.

This user registration system is built for real workflows, not just one fixed registration form pattern. You can decide whether user registration happens immediately, waits for admin activation, or stays in manual review, and you can control how duplicate-account cases are handled. GriffinForms also gives registration forms stronger admin visibility through native logging, submission-side account activity, account-action follow-up, and builder checks that help catch missing mappings, risky password choices, and iterable registration-form edge cases before the form goes live.

Helpful docs:
Registration workflow modes
Submission Accounts Accordion
Password strategies

Spam protection and rate limiting

GriffinForms supports multiple CAPTCHA providers, including reCAPTCHA, Cloudflare Turnstile, and hCaptcha. It also includes native rate limiting and backend anti-spam checks, so spam protection does not depend on a single layer. That protection applies across the submission flow, including workflows that use file uploads.

Email delivery and notifications

GriffinForms can send admin notifications and autoresponders through WordPress mail or configured delivery providers such as Custom SMTP, SendGrid, and Mailgun. That gives you more flexibility when you need more dependable delivery for production forms.

Helpful docs:
Email settings
Managing messages
Mail merge placeholders

Reusable messages and merge variables

GriffinForms includes a reusable message system for admin alerts and autoresponders. You can build messages once, reuse them across forms, and insert merge variables so subjects and message bodies can pull values from the submission at send time. That makes it easier to maintain more personalized and more consistent email workflows without rewriting the same message for every form.

GriffinForms also supports mapping autoresponders to different email fields inside the same form. For example, a staff member can submit a form on behalf of a client, student, or employee, while the correct confirmation message is still sent to the email field for that actual person.

Admin alerts can also be mapped per recipient, so different staff members or teams can receive different messages for the same submission. For example, one alert can go to admissions, another to finance, and another to operations when each team needs different context.

Easier first-form experience

GriffinForms includes a guided onboarding flow to help new users create and publish a useful first form more quickly. That makes it easier to start with a working form instead of a blank builder and then expand into more advanced flows later. Starter forms and reusable templates also help teams move faster when they need to repeat similar workflows across forms or sites.

Gutenberg and advanced workflows

GriffinForms works with Gutenberg and also includes a stronger technical foundation for advanced evaluators, including a documented REST API surface, capability-aware access control, device management for protected companion routes, and webhook-ready architecture. Multi-step submissions use AJAX handling with server-side validation and anti-spam checks, which helps longer forms feel more responsive while still enforcing validation on the backend. Post-submission actions such as emails and other follow-up work can also be processed in the background, which helps more complex workflows stay smoother after a form is submitted.

These are not the first thing most users need, but they help show GriffinForms is built for more than a simple one-page contact form.

Helpful docs:
Embedding forms
Multi-page forms
Conditional logic

Privacy-conscious by default

Form submissions stay in WordPress by default. External services are only involved when you enable them, such as payments, CAPTCHA, or email delivery providers. See the External Services section below for details.

GriffinForms also includes early compliance groundwork such as retention settings, WordPress privacy-tool integration, and per-form data-capture controls when those workflows matter.

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

License

GriffinForms is open source and licensed under GPLv2 or later.


Screenshots
FAQ
ChangeLog