webdevpuneet.com

Multi-Step Form

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

Multi-Step Form — Free Website Section Template

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

CategoryForms
Tagsmulti stepwizardprogressvalidationformprojectonboardinglight
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

Three steps with a progress bar: about you, your project, review
Each step is validated with the browser rules before moving on
Enter key advances; Back keeps your answers
Review step lists every answer, built from the form
Option cards for the project type and a budget menu, both from editable lists
aria-current on the progress step and reduced-motion support
Posts to Formspree, Basin, Getform or your own endpoint, with success and error messages
Falls back to one long form without JavaScript; export HTML, ZIP, React or Vue

About this section

Multi-Step Form — Free HTML Wizard With Progress Bar & Review Step

Multi-Step Form: A three-step form wizard: about you, your project and a review screen. A progress bar shows where you are, each step is checked before you can continue (with the browser’s own error messages), Enter moves to the next step, and the last step lists every answer so people can check them before sending. The answers post to Formspree, Basin, Getform or your own server, and without JavaScript all steps simply show one after another.

Multi-Step Form splits a long form into three short steps: about you, your project and a review. A progress bar shows where you are, each step is checked before you can continue, and the last step lists every answer so people can check them before they send. Splitting a long form into steps feels shorter and usually completes better than one tall page of fields.

How a step is checked

When someone presses Continue, the fields on the current step are validated with the browser's own rules (required, email format) and the first problem is explained and focused. Pressing Enter in a field moves to the next step instead of submitting early, and Back never loses what was typed. The review step builds its list from the actual answers: text, the chosen option cards, the budget and the details.

Built for your project type

The second step shows option cards for the project type, from a list you edit, a budget menu and a details box. Change the three step names, the labels and the button texts to turn it into a quote request, an onboarding flow or an application. 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.

Works without JavaScript

If JavaScript is off, all three steps simply show one after another and the form posts normally. With it on, the steps animate in, respect reduced-motion settings and update aria-current on the progress bar for screen readers. For a single-page version of a quote form see the Quote Request Form.

Why use it

Why Use the Multi-Step Form

🪜
Feels shorter
Small steps with a visible progress bar lower the effort of a long form.
✅
Fewer mistakes
Errors are caught on the step where they happen, and the review step lets people double-check.
🧭
Easy to repurpose
Rename the steps and lists to make a quote, onboarding or application flow.

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, step 1: about you, step 2: your project, step 3: review, choices and form 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

📋
Project and quote requests
Collect the contact details first, then the project type, budget and brief, and let the client review the answers before sending.
👋
Customer onboarding
Welcome new customers with a short sequence that gathers account details, preferences and goals one small step at a time, without overwhelming them or asking for everything at once.
🏫
Course and programme applications
Break an application into personal details, background and a final review so applicants can finish in one sitting.
🏠
Service bookings
Ask what service, when and where across steps, then show a summary that doubles as a confirmation checklist.

Got questions?

Frequently Asked Questions

Before moving on it runs the browser validation (checkValidity and reportValidity) on the fields in the current step. The first invalid field is explained and focused, and the step does not change.

Yes. Export the HTML or fork to My Code and copy a step panel and a progress item. The script counts the panels, so no other change is needed.

A list of every field with an answer: text fields, the chosen option cards, selects and file names. Empty fields are left out.

Steps are marked with aria-hidden, the active progress item has aria-current="step", focus moves to the first field of each new step and animations stop for visitors who prefer reduced motion.

All three steps show one after another as a single long form and it posts normally to your endpoint.

It saves an editable copy of your Multi-Step 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.