

Visual drag-and-drop form builder with field palette, live canvas, and summary panel
GriffinForms is a free drag-and-drop WordPress form builder plugin for contact forms, multi-step forms, user registration forms, file upload forms, and payment forms. All core features are free — no paywalls, no upgrade required.
It handles a simple contact form as easily as a multi-step application. Build with a visual editor, store all submissions in your WordPress database, and layer in conditional logic, spam protection, MailChimp integration, and AI form building with Griffin Assist — all included in the free core.
GriffinForms Pro is an optional paid add-on. It adds Square payments, Google Sheets sync, Klaviyo marketing integration, premium field types (Signature, Rating, Rich Text, Image Selection, Likert Scale), submission export (CSV, JSON, Excel), and frontend submission editing. The core plugin remains free and fully functional without it.
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 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.
If you enable Stripe or PayPal, 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 supports a fuller review-and-pay pattern with product-style selections, product images, and cart-style summaries. Stripe can stay on-page for card collection, while PayPal uses its hosted popup approval flow. For pending payments, resume links can bring users back so they can continue from where they left off.
Payment workflows can also gate user registration — combining payment collection with WordPress account creation in a single form makes it straightforward to build paid membership signups, paid course registrations, and other workflows where account access should follow a successful payment.
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 change the success message or redirect users to a different destination based on what they selected in the form.
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 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.
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
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.
GriffinForms can send admin notifications and autoresponders through WordPress mail or configured delivery providers — Custom SMTP, SendGrid, or Mailgun — without requiring a separate SMTP plugin. Notifications are queued and processed in the background so form submissions are never blocked by email delivery latency.
Helpful docs:
– Email settings
– Managing messages
– Mail merge placeholders
Griffin Assist is GriffinForms’ built-in AI form builder for WordPress. Describe the form you need using plain-English prompts, and Griffin Assist drafts the structure for you. From there you keep full control — drag, rearrange, and fine-tune using the same builder you already know.
This is not a separate AI tool that hands off a static export. Griffin Assist works inside your live draft, so changes appear immediately in the builder as you prompt them.
Drafting a new form: type a prompt in the Create Form modal and Griffin Assist generates a starting structure with pages, rows, and fields. The draft opens in the builder ready for you to refine. When you are happy with it, publish it to make it live. If you want to start over, discard it — your other forms are never affected.
Editing an existing form: open any form in AI draft mode using the AI Edit action. Griffin Assist targets only the elements you ask about, so editing a field label or adding a new page does not rebuild the whole form or disturb fields and logic you already configured.
Chat Mode: toggle Chat Mode on to ask questions, explore ideas, and get suggestions before committing to a change. Griffin Assist returns clickable action buttons so you can review a suggestion and apply it with one click. Structural suggestions such as adding a new section, page, or row appear alongside copy advice.
Suggestion pills: each element type in the builder has a set of context-aware suggestion pills — one-tap actions tailored to what is currently selected. Improving a field label, polishing a description, adding a file upload hint, or refining dropdown options all have their own targeted pills. Translation is also available as a one-tap action that rewrites all labels, descriptions, options, and button text into your target language.
Griffin Assist requires an active AI provider connection. You can connect OpenAI, Anthropic, Google Gemini, xAI Grok, or Mistral from the AI settings tab using your own API key. Griffin Assist also works with WordPress 7 AI Connector keys — if a provider is already configured site-wide through WordPress Connectors, Griffin Assist uses it automatically with no separate setup. A data-sharing consent step is required before Griffin Assist sends any form data to an external provider.
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 are there when the deployment calls for them — whether the form is a simple contact form or a complex multi-step workflow.
Helpful docs:
– Embedding forms
– Multi-page forms
– Conditional logic
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 per-form compliance profiles (Standard, GDPR, and HIPAA-ready) with submission hashing, layout snapshots, configurable retention policies, and WordPress personal data export and erase integration when those workflows matter.
GriffinForms can connect to these third-party services when enabled:
– Google reCAPTCHA (spam protection): Terms and Privacy
– Stripe (payments): Terms and Privacy
– PayPal (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
– MailChimp (audience sync): Terms and Privacy
– OpenAI (AI form building, when configured): Terms and Privacy
– Anthropic (AI form building, when configured): Terms and Privacy
– Google Gemini (AI form building, when configured): Terms and Privacy
– xAI Grok (AI form building, when configured): Terms and Privacy
– Mistral (AI form building, when configured): Terms and Privacy
GriffinForms is open source and licensed under GPLv2 or later.