No credit card required

Simple enough for everyone. Powerful enough for developers.

Create visual forms with our no-code editor, or hook up your custom HTML form directly to our backend API.

  • Unlimited forms
  • Free to start
  • Build in minutes

Developer friendly

Easy to embed and extend.

Safe edits

Past responses never break.

Global CDN

Fast everywhere.

No lock-in

Works with your own HTML forms.

Built for creators and developers

One form, two ways

Drag it.Or code it.

Build it in the editor. No code.Point your own HTML form at us.

Create. Embed. Collect.

Three steps from blank page to real responses.

  1. 01

    Create your form

    Drag, drop and build in the visual editor - no code required.

  2. 02

    Embed anywhere

    Add it to any website with one line of code, or POST straight from your own HTML.

  3. 03

    Responses in dashboard

    Every submission lands in your InvoyForm dashboard in real time.

Built for AI agents

Let your AI agent add the form

Copy this prompt into Claude Code, Cursor or any coding agent and paste your form's HTML. It builds the form in your own design, wired to InvoyForm. No backend to write.

  1. 1Copy your form's HTML from Share
  2. 2Paste it into the prompt
  3. 3Your agent does the rest
Read the guide
prompt.txt
Add my InvoyForm form to this project. InvoyForm is the backend: it checks and stores the answers, so do not write an API route, a server action, a database table or a fetch call for this form.

Read this first, it has every attribute and event of the script: https://form.invoy.in/docs/developer/html-post.md

Here is the form's HTML from InvoyForm (Share, HTML form):

PASTE THE HTML FORM HERE

Do this:
1. Rebuild the form as a component in this project's framework and design system: its inputs, labels, buttons and spacing. Keep the form's action, method="POST" and every field's name exactly as they are. A group of checkboxes keeps the [] at the end of its name.
2. Put data-ivf on the <form>, and load https://form.invoy.in/v1/embed.js once on the page with defer. In Next.js use next/script; in other frameworks add the script tag to the page or layout. The script also finds forms that render later.
3. Let the form submit natively: no onSubmit handler, no preventDefault, no state that holds the values. The script sends the form, turns the button off while it sends, shows each message and a thank-you.
4. Under each field add an element with data-ivf-error="FIELD_NAME" for its message. Add one element with data-ivf-form-error for messages about the whole form, and one hidden element with data-ivf-success for the thank-you. Style them with the project's styles.
5. Style the states with [data-ivf-state="submitting"], [data-ivf-state="error"], [data-ivf-state="success"] on the form and [aria-invalid="true"] on a field.
6. If something must happen after a send, like closing a dialog or tracking a conversion, listen for the ivf:success and ivf:error events on the form.
7. Keep a file field as <input type="file" name="...">. The script uploads the files.
8. When you are done, tell me to add this site's domain to the form's allowed websites in InvoyForm (Settings) and save. localhost works without it.

Already on Google Forms?

Bring your Google Form with you

Paste its link and it opens in the builder with its questions, choices and required answers, ready to edit and publish. Nothing changes in Google Forms.

How importing works
Google FormsInvoyForm
Short answerText
ParagraphLong text
Multiple choiceRadio buttons
CheckboxesMulti-select
File uploadFile upload

Build better forms. Faster.

Everything you need to create, customize and scale.

Unlimited Forms

No cap on forms, on every plan.

Easy to build

Drag, drop and create forms in minutes. No learning curve.

Custom validationPro

Check answers against your own patterns, like a tax number, a passport number or any ID.

Zero data loss on edits

Edit live forms anytime. Every response stays tied to the version it was submitted on.

Embed anywhere

Add your form to any website with one snippet, or share a link or QR code.

Backend for HTML forms

Point your own HTML form at InvoyForm. No server to run.

Workspaces and teams

Separate workspaces, member invites and roles.

Two-factor sign-in

Protect your account with a second step at sign-in.

Every form you build should feel like it belongs to your product - not a bolted-on widget from somewhere else.

Questions

What is InvoyForm?

A form builder and a form backend in one. Build a form in the visual editor and share it as a link or embed it, or point your own HTML form at InvoyForm. Every response is saved in one dashboard and sent on to your email and the apps you use.

Is InvoyForm free?

Yes. The Free plan is free forever and needs no credit card. Paid plans add more responses, workspaces and team members.

Do I need a server to collect form submissions?

No. Set your HTML form's action to your InvoyForm address and each submission is checked, saved and sent on. There is no server code to write or run.

Can I put a form on any website?

Yes. Share a link or a QR code, or embed the form with one snippet on any website that lets you add HTML. It shows only on the websites you allow.

Where do the responses go?

To your dashboard, to your email if you want, and to the apps you connect: Zapier, Make, n8n, Slack, Discord, Microsoft Teams, Telegram, and Google Sheets, or your own server with a signed webhook.

Can I move my Google Forms to InvoyForm?

Yes. Paste the link of your Google Form and it opens in the builder with its questions, choices and required answers. Questions with no match yet, like a date or a grid, are marked so you can replace them before you publish.

Can I change a form after people have answered it?

Yes. Edit and publish again; the responses you already have are kept as they were.

Start building for free.

No credit card. Unlimited Forms, free forever.

Start building for free