webdevpuneet.com

Centered Contact Form

Desktop · 1280px · shown at 0% · edit the text, images and colours in the panel

Centered Contact Form — Free Website Section Template

Forms · v1.0.0 · Updated 2026-11-12 · Responsive · GSAP animation · HTML, React & Vue

CategoryForms
Tagscontactformformspreeselectcharacter counterconsentcenteredlight
Updated October 20, 2026

Extend with AI

Take This Section Further With AI

The AI prompt for this one is for Patreon supporters ($3 a month), along with a site with no ads. Supporters enter the passcode once and it is remembered in this browser.

· Become a supporter

What's included

Features

Centered heading above a soft card with name, email, phone, topic, message and consent
Topic menu built from an editable list
Message box with a live character counter and a 600 character limit
Optional phone and consent fields that disappear when their labels are empty
Correct input types and autocomplete values for faster filling on phones
Posts to Formspree, Basin, Getform or your own endpoint, with success and error messages
Hidden spam-trap field and a working normal POST without JavaScript
Theme colours, fonts and corner radius; export as HTML, ZIP, React or Vue

About this section

Centered Contact Form — Free HTML Contact Section With Topic Menu

Centered Contact Form: A clean centered contact form in a soft card: name and email side by side, an optional phone number, a topic menu, a message box with a live character counter and a consent checkbox. The form posts to Formspree, Basin, Getform or your own server with a success message, an error message and a hidden spam trap, and it still works as a normal form without JavaScript. Every label, the topics and all messages are editable.

Centered Contact Form is a free contact section for websites that want one clear way to reach them. A centered heading sits above a soft card with the fields people expect: name and email side by side, an optional phone number, a topic menu, a message box and a consent checkbox. It is plain HTML and CSS, so you can paste it into any page or export it as React or Vue.

Details that make a form easier to finish

The topic menu sorts messages before you read them (sales, support, press) and the list is yours to edit. The message box has a live character counter, so people see the limit before they hit it. The phone field and the consent box disappear when you empty their labels, which keeps a short form short. Inputs carry the right autocomplete and type values, so phones offer the saved name, email and number, and browsers check the email format for you.

It really sends

Every form posts to the address you paste into "Form URL" (Formspree, Basin, Getform or your own server), shows a success message, shows an error message when something fails and contains a hidden spam-trap field. Without JavaScript it is an ordinary form post. Paste your Formspree address once and the form works. The fields sent are name, email, phone, topic, message and consent. For a version with contact details beside the form see the Contact Form With Details, and for floating labels try the Floating Label Form.

Edit and export

Change every label, the topics, the button, the note under it and the success and error messages in the editor, pick colours, fonts and corner radius, then copy the HTML, download a ZIP, copy a React or Vue component or fork it into My Code.

Why use it

Why Use the Centered Contact Form

📨
Messages arrive sorted
A topic menu tells you who should read each message before you open it.
⚡
Short and quick to fill
Only the fields you keep are shown, with the right keyboard and autofill on phones.
🛡
Spam-resistant
A hidden trap field and a consent box keep bots and accidental sends out.

How it’s different

How It’s Different From Other Free Section Templates

✎
Editable, not just copyable
Change text, links, images, colours and fonts in the browser before you export, instead of editing someone else’s code by hand.
◐
One theme for every section
Colours, fonts, radius and width are shared CSS variables, so every section you combine looks like one website.
⇲
Responsive by container
Container queries make each section adapt to its own width, in a full page, a column or a page builder.
✦
GSAP animation built in
Every section animates in with GSAP and ScrollTrigger, stays visible without JavaScript and respects reduced motion.
</>
HTML, React and Vue
Export a single HTML file, a ZIP with your images, a React component or a Vue component, or fork the code into My Code.
◍
Free, private, saved
No account and no watermark. Designs, uploaded images and fonts stay in your browser, with a backup file you can restore anywhere.

Step by step

How to Use

  1. 1
    Edit the contentFill in the heading, form and topics in the panel. Wrap words in *asterisks* to colour them.
  2. 2
    Add your imagesUpload your own images (resized in your browser and kept on your device) or paste a hosted image URL.
  3. 3
    Match your brandPick a colour preset or exact colours, choose heading and body fonts from Google Fonts or your own uploaded font, set the corner radius and width, or apply your brand kit.
  4. 4
    Animate and previewChoose a GSAP entrance effect and speed, press Play animation, and check the section on desktop, tablet and mobile.
  5. 5
    Save and exportSave it to My designs, then export a single HTML file, a ZIP with your images, a React or Vue component, or fork it into My Code.

Real-world uses

Common Use Cases

🏢
Business contact pages
Give agencies, studios and local firms a clean form with a topic menu, so sales, support and press messages reach the right inbox.
🧰
Support and sales enquiries
Let visitors pick “Sales and pricing” or “Support” and use the reply-by-email note to set the right expectation about response time.
👩‍💻
Freelancer websites
Add a simple form to a portfolio so clients can reach you without opening their email app, with consent for GDPR-friendly contact.
🏛
Associations and clubs
Offer one form for membership questions, press and general enquiries, with a character limit that keeps messages focused.

Got questions?

Frequently Asked Questions

Create a free form at Formspree (or Basin or Getform), copy its address into the "Form URL (action)" field and export. Submissions are emailed to you by that service.

Yes. Empty the phone label or the consent text in the editor and that field is left out of the exported page.

It shows how many characters have been typed out of 600 as the visitor writes. The browser also stops typing at the limit, so long messages are never cut off by the server.

Yes. It is a normal form post to your endpoint. JavaScript adds the smooth success message, the counter and the busy state on the button.

Every field has a visible label, the error message is announced to screen readers, focus rings are visible, and the success message receives focus when it appears.

It saves an editable copy of your Centered Contact Form in My Code, the UI Snippets code editor: the section markup goes in the HTML panel, its CSS (theme variables, base styles and layout) in the CSS panel, and the GSAP library is added as a CDN link, so you can keep refining the code and save your own versions.

Yes. Every section is free for personal and commercial work, with no account, no watermark and no attribution: export it on its own as HTML, React, Vue or Next.js from its page, or use it in a website you build and export in the Website Builder.