Title: LocalForm Form Builder for Surveys and Registrations
Author: thexerox
Published: <strong>August 12, 2026</strong>
Last modified: August 12, 2026

---

Search plugins

![](https://ps.w.org/localform/assets/banner-772x250.png?rev=3643496)

![](https://ps.w.org/localform/assets/icon-256x256.png?rev=3643496)

# LocalForm Form Builder for Surveys and Registrations

 By [thexerox](https://profiles.wordpress.org/thexerox/)

[Download](https://downloads.wordpress.org/plugin/localform.1.12.0.zip)

 * [Details](https://wordpress.org/plugins/localform/#description)
 * [Reviews](https://wordpress.org/plugins/localform/#reviews)
 *  [Installation](https://wordpress.org/plugins/localform/#installation)
 * [Development](https://wordpress.org/plugins/localform/#developers)

 [Support](https://wordpress.org/support/plugin/localform/)

## Description

LocalForm is a form builder for WordPress. Build a form in minutes in a clean, distraction-
free builder, publish it to an auto-generated page, and share the link – no page
building, no shortcode wrangling, no fighting your theme’s CSS.

The name says what it does: every response stays local, on your own site, under 
your own domain and branding. Nothing is sent to a third-party form service, which
keeps you in control for GDPR purposes. And unlike heavyweight form plugins, there
is nothing to configure before your first form is live.

#### Why LocalForm?

 * **Simple.** A distraction-free builder: add questions, drag to reorder, pick 
   your colors, publish.
 * **Share a link.** Every form gets its own fullscreen page with a configurable
   URL – or embed it anywhere with a shortcode or block.
 * **Your data stays yours.** Responses live in your WordPress database, exportable
   as XLSX – or stored nowhere at all with webhook-only mode.
 * **Built for automation.** Signed webhooks (HMAC-SHA256) with retries and a delivery
   log connect responses to your own backend or any automation tool.
 * **No external requests.** Fonts are bundled with the plugin and served from your
   own domain. LocalForm never calls home.

LocalForm works great for surveys, feedback and intake forms, sign-ups, and especially**
event registrations**: set a maximum number of registrations, open/close date-times,
an event date, time, location, organizer and price, and send registrants a confirmation
email.

#### Fully functional, no locked features

Every feature described here is included and fully functional. There is no license
key, no trial period, no usage quota, and nothing is disabled until you pay.

A separate premium add-on plugin, LocalForm Pro, is distributed by the author outside
WordPress.org and adds further features (conditional fields, file uploads, reusable
field templates, global webhook fields, prefill from URL). It is a wholly separate
plugin: none of its code ships in, or is required by, this one.

#### Features

 * Visual drag-and-drop form builder in the WordPress admin.
 * Field types: text, email, phone, dropdown, single choice (radio), number, checkbox(
   multi-select), date, date range, rating, and textarea.
 * Auto-generated pages with configurable slugs, including nested paths.
 * Embed forms anywhere with the `[localform id="123"]` shortcode or the LocalForm
   Gutenberg block.
 * Share dialog in the builder: copy the form’s link, copy the embed shortcode, 
   and download a QR code generated on your own site.
 * Email notifications: notify the site admin on each registration and send registrants
   a customizable confirmation email with placeholder support.
 * Registration limits: maximum number of registrations, and open/close date-times
   with a configurable closed message.
 * Fullscreen frontend template independent of the active theme, with an optional
   per-form setting to use the active theme’s page template instead.
 * AJAX submission with inline validation and a configurable success message.
 * Responses screen with a per-question summary: answer counts and bar charts for
   choice questions, min/average/max for numbers, per-day counts for dates, and 
   the latest answers for open questions.
 * Submissions stored in custom database tables and viewable per form in the admin.
 * Export submissions as XLSX from the submissions screen.
 * Backup and restore: download every form, submission and setting as one JSON file,
   and restore it here or on another site.
 * Webhook-only mode: per-form option to skip saving submissions and send only to
   a webhook.
 * Webhooks: POST JSON to a configurable URL with HMAC-SHA256 signature and retry
   logic (max 3 attempts with exponential backoff).
 * Webhook log viewer with 30-day retention.
 * Event details: event date, time, location, organizer and payment price per form,
   shown on the form page and included in the webhook payload and confirmation emails.
 * Settings page for default webhook URL and secret key.
 * Built-in security: invisible honeypot field, IP-based rate limiting, and duplicate
   submission protection.
 * Phone number validation and improved server-side validation for all field types.
 * Seven bundled font families for the form’s design, served from your own domain.
 * Fully translatable, with translations contributed through translate.wordpress.
   org.

### External services

This plugin does not connect to any external service on its own. It contains no 
analytics, telemetry, license checks or remotely hosted assets.

The one outbound request it can make is entirely under your control: if you enter
a webhook URL on a form (or as the site-wide default under Forms > Settings > Webhooks),
each submission is POSTed as JSON to that URL, signed with HMAC-SHA256. That destination
is chosen and operated by you – the plugin has no default endpoint and sends nothing
anywhere if no webhook URL is configured. The payload contains the submitted answers,
the form title and slug, the event details you set on the form, and any custom fields
you added. Consult the privacy policy and terms of the service you point the webhook
at, since they are the party receiving the data.

## Screenshots

[⌊Form builder in the WordPress admin.⌉⌊Form builder in the WordPress admin.⌉[

Form builder in the WordPress admin.

[⌊Frontend fullscreen form page.⌉⌊Frontend fullscreen form page.⌉[

Frontend fullscreen form page.

[⌊Responses summary with per-question charts and XLSX export.⌉⌊Responses summary
with per-question charts and XLSX export.⌉[

Responses summary with per-question charts and XLSX export.

[⌊Webhook log viewer.⌉⌊Webhook log viewer.⌉[

Webhook log viewer.

## Blocks

This plugin provides 1 block.

 *   LocalForm

## Installation

 1. Upload the plugin files to `/wp-content/plugins/localform/`, or install the plugin
    through the WordPress plugins screen directly.
 2. Activate the plugin through the ‘Plugins’ screen in WordPress.
 3. Go to ‘Forms’ in the admin menu to create your first form.
 4. Configure webhooks and default settings under ‘Forms > Settings’.

## FAQ

### Does LocalForm send any data to an external service?

No. The plugin makes no outbound requests of its own: no analytics, no license checks,
no telemetry, and no remotely hosted fonts or scripts. The only outbound request
it can ever make is to the webhook URL you configure yourself, and only if you configure
one.

### Can I embed a form in an existing page?

Yes. Use the `[localform id="123"]` shortcode (or `[localform slug="my-event"]`),
or add the LocalForm block in the block editor. The auto-generated form page keeps
working alongside embeds.

### Does LocalForm send confirmation emails?

Yes. Each form can email the site admin on every registration and send the registrant
a confirmation email. The confirmation subject and message support placeholders 
such as `{form_title}`, `{event_date}`, and any field name in braces.

### Can I limit the number of registrations?

Yes. Set a maximum number of registrations and/or an open and close date-time per
form. When the form is full or closed, visitors see a configurable message instead
of the form. The capacity limit requires “Save submissions in WordPress” to be enabled.

### Can I use the active theme’s page template instead of the fullscreen template?

Yes. Each form has a setting to use the active theme’s page template instead of 
the built-in fullscreen template.

### Does LocalForm save submissions when webhooks are enabled?

By default, yes. You can enable “Webhook-only mode” on a per-form basis to skip 
saving submissions and send data only to the webhook.

### How are webhook requests signed?

Webhook payloads are signed with HMAC-SHA256 using the secret key configured in 
the form or default settings.

### How does LocalForm protect against spam?

LocalForm includes an invisible honeypot field, IP-based rate limiting, and duplicate-
submission protection. All three can be configured under Forms > Settings > Security.

### What happens to my forms and submissions if I delete the plugin?

Deactivating LocalForm never touches your data. Deleting it removes everything by
default: the forms, submissions and webhook log tables are dropped and the plugin’s
options are deleted. If you want that data to survive a delete, enable “Keep my 
data when the plugin is deleted” under Forms > Settings > Data before removing the
plugin.

### Can I back up my forms and move them to another site?

Yes. Forms > Settings > Data has a Backup & Restore card. “Download backup” gives
you a single JSON file containing every form, its submissions and your plugin settings,
and the restore form on the same screen reads that file back. Because forms are 
re-created through the normal validation path rather than by copying database rows,
a backup restores onto a different site just as well as onto the one it came from.
Webhook logs are not included.

### What happens on restore if a form already exists?

Forms are matched on their slug. Forms in the file that do not exist on the site
are always added; for ones that do, you choose whether to leave the existing form
alone or replace it with the backed-up version. Replacing a form also replaces its
submissions, so importing the same file twice never duplicates them.

### Which fonts does the form builder use, and where do they come from?

Seven families (Inter, Roboto, Open Sans, Lato, Montserrat, Poppins and Nunito) 
are bundled with the plugin and served from your own site. They are not loaded from
Google Fonts or any other CDN, so choosing one never discloses a visitor’s IP address
to a third party. All seven are licensed under the SIL Open Font License 1.1; the
license text is included at `assets/fonts/OFL.txt`.

## Reviews

There are no reviews for this plugin.

## Contributors & Developers

“LocalForm Form Builder for Surveys and Registrations” is open source software. 
The following people have contributed to this plugin.

Contributors

 *   [ thexerox ](https://profiles.wordpress.org/thexerox/)

[Translate “LocalForm Form Builder for Surveys and Registrations” into your language.](https://translate.wordpress.org/projects/wp-plugins/localform)

### Interested in development?

[Browse the code](https://plugins.trac.wordpress.org/browser/localform/), check 
out the [SVN repository](https://plugins.svn.wordpress.org/localform/), or subscribe
to the [development log](https://plugins.trac.wordpress.org/log/localform/) by [RSS](https://plugins.trac.wordpress.org/log/localform/?limit=100&mode=stop_on_copy&format=rss).

## Changelog

#### 1.4.0

 * Renamed the plugin to LocalForm. Existing forms, submissions, webhook logs and
   settings are migrated automatically on upgrade.
 * Event details (date, time, location, organizer, price) are now part of the free
   plugin, with their own settings card in the form builder.
 * Fonts are bundled with the plugin and served from your own domain; the form page
   no longer requests anything from Google Fonts.
 * All request data is sanitized at the point it is received, before it is shaped,
   stored or passed to any filter.
 * Per-form colors and fonts are attached to the enqueued stylesheets instead of
   being printed as inline `<style>` tags.
 * Translations are now delivered through translate.wordpress.org rather than bundled
   with the plugin.
 * New “Keep my data when the plugin is deleted” setting under Settings > Data, 
   for sites that want their forms and submissions to survive an uninstall.
 * Backup & Restore under Settings > Data: download every form, submission and setting
   as one JSON file, and restore it here or on another site.

#### 0.6.0

 * Email notifications: per-form admin notification and registrant confirmation 
   emails with placeholder support.
 * Registration limits: maximum registrations plus open/close date-times, with a
   configurable closed message.
 * Embedding: `[localform]` shortcode and a LocalForm Gutenberg block to place forms
   on any page or post.
 * New field types: single choice (radio) and date.

#### 0.5.0

 * Tag management for organizing forms, with tag filtering in the forms list.
 * Slug field enhancements in the form editor.

#### 0.4.0

 * Text and image blocks for adding static content to forms.
 * Performance improvements to form resolution and template loading.

#### 0.3.0

 * Per-form event date and payment price, included in the webhook payload and shown
   on the form page.
 * Semantic-release based build and packaging pipeline.

#### 0.2.0

 * Initial public release.

## Meta

 *  Version **1.12.0**
 *  Last updated **10 hours ago**
 *  Active installations **Fewer than 10**
 *  WordPress version ** 6.0 or higher **
 *  Tested up to **7.0.4**
 *  PHP version ** 8.1 or higher **
 * Tags
 * [form builder](https://wordpress.org/plugins/tags/form-builder/)[forms](https://wordpress.org/plugins/tags/forms/)
   [registration](https://wordpress.org/plugins/tags/registration/)[surveys](https://wordpress.org/plugins/tags/surveys/)
   [webhooks](https://wordpress.org/plugins/tags/webhooks/)
 *  [Advanced View](https://wordpress.org/plugins/localform/advanced/)

## Ratings

No reviews have been submitted yet.

[Your review](https://wordpress.org/support/plugin/localform/reviews/#new-post)

[See all reviews](https://wordpress.org/support/plugin/localform/reviews/)

## Contributors

 *   [ thexerox ](https://profiles.wordpress.org/thexerox/)

## Support

Got something to say? Need help?

 [View support forum](https://wordpress.org/support/plugin/localform/)