Description
99Forms is a lightweight, Gutenberg-native contact form builder built for WordPress 6.8+. Every form field is a proper block — drag, drop, and configure directly inside the editor. No shortcodes, no page builders required.
Why 99Forms?
Most form plugins were built before the block editor existed. They bolt on Gutenberg support as an afterthought — a single shortcode block wrapping a separate form builder UI. 99Forms is built block-first from day one.
Available Field Blocks
- Text, Email, Password, Number, Hidden input
- Textarea
- Checkbox
- Radio buttons
- Select dropdown
- Country picker (with phone code)
- File upload
- reCAPTCHA v2
Form Features
- Honeypot spam protection (built-in, no config needed)
- Google reCAPTCHA v2 support
- Configurable success and error messages
- Post-submission redirect URL
- Hide form after successful submission
- Server-side file upload validation (type + size)
Admin Features
- Submissions table with per-form filtering
- Bulk delete submissions
- Sortable columns (ID, date)
Design & Styling
- Label position: above or inline
- Global field width control
- Field spacing (margin) control
- Label width control (for inline mode)
- Padding control on the form wrapper
Pro Version (Coming Soon)
The free version covers all core form-building needs. A Pro version is planned with:
- Email notifications (admin + user confirmation)
- Conditional logic (show/hide fields based on values)
- Multi-step forms
- CSV export of submissions
- File attachment in notification emails
- Webhooks / Zapier integration
External Services
This plugin optionally uses Google reCAPTCHA v2 to protect forms from spam.
When the reCAPTCHA field is added to a form, the Google reCAPTCHA script is
loaded from Google’s servers and the user’s response token is sent to Google
for verification on form submission.
Service: Google reCAPTCHA
Data sent: CAPTCHA response token, IP address (handled by Google)
Condition: Only when a form with the reCAPTCHA block is submitted
Terms of Service: https://policies.google.com/terms
Privacy Policy: https://policies.google.com/privacy
Blocks
This plugin provides 10 blocks.
- Form 99Forms wrapper block
- Checkbox Checkbox Field
- Radio Radio Field
- Textarea Textarea Field
- Select Select Field
- File Upload File Upload Field
- Submit Submit Button
- Recaptcha Recaptcha Field
- Country Country Field
- Input Input Field
Installation
- Upload the
nnformsfolder to/wp-content/plugins/. - Activate the plugin from Plugins Installed Plugins.
- Open any page or post in the block editor.
- Search for “Form” in the block inserter — add the Form block.
- Add field blocks inside the Form block (Input, Textarea, Select, etc.).
- Publish the page.
reCAPTCHA Setup (optional)
- Go to 99Forms Settings.
- Enter your Google reCAPTCHA v2 Site Key and Secret Key.
- Add the reCAPTCHA block inside your form.
FAQ
-
Does this work with the classic editor?
-
No. 99Forms is built exclusively for the Gutenberg block editor (WordPress 6.8+). It has no shortcode or classic editor support by design.
-
Where are form submissions stored?
-
Submissions are stored in a custom database table (
wp_nnforms_submissions) created on plugin activation. View them under 99Forms Submissions in the admin. -
How do I filter submissions by form?
-
On the Submissions page, use the “Choose a form” dropdown at the top and click Filter.
-
Is the honeypot spam protection always active?
-
Honeypot is enabled by default on each form. You can disable it per-form from the Form block settings in the editor sidebar.
-
Can I have multiple forms on the same page?
-
Yes. Each Form block gets a unique ID automatically.
-
What file types are allowed for file upload fields?
-
Currently: JPEG, PNG, and PDF. Maximum file size is 2MB per upload.
Reviews
There are no reviews for this plugin.
Contributors & Developers
“99Forms” is open source software. The following people have contributed to this plugin.
ContributorsTranslate “99Forms” into your language.
Interested in development?
Browse the code, check out the SVN repository, or subscribe to the development log by RSS.
Changelog
1.0.0
- Initial release.
- Form, Input, Textarea, Checkbox, Radio, Select, Country, File Upload, reCAPTCHA, and Submit blocks.
- Submissions stored in custom DB table with admin list table.
- Honeypot spam protection.
- reCAPTCHA v2 support.
- Per-form success/error messages and redirect URL.