To create a contact form in WordPress with Gutenberg, install the free Giraforms plugin from WordPress.org, open any page in the block editor, add the "Form Container" block via the + inserter, choose the contact form template (or add fields manually), configure email notifications in the block settings panel, and publish. The whole process takes under 5 minutes — no shortcodes, no page builder required.
A contact form is one of the first things visitors look for when they want to reach you. Yet WordPress doesn't include one out of the box. The traditional solution — shortcode-based plugins like Contact Form 7 — forces you to switch between a separate admin panel and the page editor, and gives you no live preview of how the form will actually look. There's a better way.
According to HubSpot (2023), websites with a contact form have a 74% higher conversion rate than sites that rely solely on listing an email address.
Why use a Gutenberg-native form plugin?
Since WordPress 5.0, the block editor is the standard way to build pages. If you're assembling your layout with blocks — paragraphs, images, columns — it makes sense for your form to live there too. With a native plugin like Giraforms, you add form fields the same way you add any other block: with the + inserter. You see the form in real time while you edit. No switching tabs, no guessing how it will look, no shortcodes to memorize.
Traditional shortcode-based form plugins require you to build the form in a dedicated admin panel, copy a code snippet, and paste it into a Shortcode block. You only see the final result after you publish — or by opening a preview tab. This creates an unnecessary disconnect in your editing workflow.
What you need before you start
The requirements are minimal: a WordPress site running version 6.0 or later (most sites are already on 6.7+), and the Giraforms plugin installed. That's it. You don't need a page builder, a premium theme, or any third-party service. Giraforms is free and self-contained.
If your site sends contact form emails through your hosting provider's default mail function, delivery can occasionally be unreliable. To improve this, you can optionally install a free SMTP plugin like WP Mail SMTP after setting up your form — but it's not required to get started.
Step 1 — Install Giraforms
Go to WP Admin → Plugins → Add New Plugin. In the search box, type Giraforms. When the plugin appears, click Install Now, then Activate. Alternatively, download the plugin from wordpress.org/plugins/giraforms and upload the ZIP via Plugins → Add New → Upload Plugin.
After activation, a new Giraforms menu item appears in your WP Admin sidebar. You don't need to configure anything in the settings before creating your first form — the defaults are sensible and spam protection is already active.
Step 2 — Open your page in the block editor
Navigate to Pages → Add New Page to create a new page, or open an existing page you want to add a form to. You'll land in the Gutenberg block editor. Give the page a title (e.g., "Contact") and position your cursor at the location where you want the form to appear.
Step 3 — Insert the Form Container block
Click the + icon in the editor toolbar (or between blocks), and in the search field type form or giraforms. Click Form Container to insert it. You can also type /giraforms in any empty paragraph block and press Enter — this is the fastest method once you've used it once.
The block will appear with a prompt to either start from a template or build from scratch. For a standard contact form, use the template — it saves you time.
Step 4 — Choose the Contact Form template
Click "Contact Form" from the template list. Giraforms inserts a pre-built form with a Name field, an Email field, a Message textarea, and a Submit button — the classic contact form structure that covers 90% of use cases.
If you want to customize: click any field block inside the form to select it. In the block settings panel on the right, you can change the label, make the field required, set a placeholder, and adjust width. To add a new field, click the + inside the Form Container and choose from available field types (phone, dropdown, checkbox, file upload, and more).
Tip: Keep contact forms short. Research consistently shows that forms with 3–5 fields outperform longer ones. Name, email, and message is the sweet spot for most contact pages.
Step 5 — Configure email notifications
Select the Form Container block (click on its outer border, not a field inside it). In the block settings panel on the right, find the Email Notifications tab. Set the following:
- To: the email address where you want to receive submissions (e.g., hello@yoursite.com)
- Subject: a subject line for the notification email — you can include field values using tokens like
{name}or{email} - Reply-To: set this to
{email}so that when you reply to the notification, it goes directly back to the submitter
Save the settings. You can add multiple email notifications — for instance, one to yourself and an auto-reply confirmation to the user (using their submitted email address as the recipient).
Step 6 — Publish and test your form
Click Publish (or Update if editing an existing page). Visit the live page in a browser and fill in the form with test data. Submit it, then check your inbox. The notification email should arrive within a few seconds.
If the email doesn't arrive, check your spam folder first. If delivery is consistently unreliable, install a free SMTP plugin to route emails through a proper mail service (Gmail SMTP, Mailgun, SendGrid, etc.).
Every submission is also saved automatically to your WordPress database. Even if the email fails, your data is safe. Go to WP Admin → Giraforms → Submissions to see all entries.
How to view form submissions
Navigate to WP Admin → Giraforms → Submissions. You'll see a list of all submissions across all your forms, with columns for date, form name, and field values. Click any row to see the full submission detail. You can filter by form, search by value, and export all entries to a CSV file with one click — useful for importing into a CRM or spreadsheet.
This is a key advantage over plugins like Contact Form 7: you always have a local backup of your data, independent of email delivery. For business-critical forms, this alone is reason enough to switch. See our full comparison with Contact Form 7 for more context.