FlowFormsFree

The form builder
you actually own.

Typeform’s feel. Paperform’s flexibility. The logic, uploads and spam protection every other builder still charges extra for. Running on infrastructure you control, with every response in a database that is yours.

Full source, MIT licensed, free. Put your email in and the download link lands in your inbox.

MIT licensed. No account, no credit card, no trial that expires.

Question 1 of 5

How are you using forms today?

AJust me
B2 to 10 people
CMore than 10

Everything the hosted builders put behind a plan.

Conditional logic
File uploads
Remove branding
Response limits
Custom fonts and themes
CSV export
Answer recall
Per-form SEO
Your own database

Built the way you would build it if you had the time.

Conditional logic that actually branches

Show, hide and skip based on any earlier answer. The same engine runs in the browser and on the server, so a form validated as you fill it is validated identically when it saves.

Publishing writes a version, not an edit

Every publish snapshots the form into an immutable row, and every response records the version it answered. Editing a live form can never reinterpret answers you already collected.

File uploads through two doors

Admin uploads for the builder, respondent uploads only while a live response is open on a form that actually has a file field. An open upload endpoint is anonymous file hosting on your bill.

Spam protection with no puzzles

A honeypot field, a minimum completion time, and a per-form hourly cap, all enforced server side. Caught submissions are flagged rather than rejected, because telling a bot it failed teaches it to pass.

Link previews that survive Slack

Social scrapers do not run JavaScript, so meta tags written by React are invisible to all of them. FlowForms serves crawler-facing HTML, a sitemap and robots.txt from the backend.

Responses you can take with you

A responses table, a summary view and CSV export, all reading through the version each answer was given against. It is your database. Query it however you like.

Running in two terminals.

Unzip it, install, point it at a free Convex project. There is no build server to stand up and no container to configure before you see it working.

Want it entirely on your own machines instead? A Docker Compose file for the self-hosted backend ships in the same folder.

~/flowforms

$ npm install

Node 20 or newer

$ npx convex dev

sign in, create a project, leave it running

$ npm run dev

second terminal, then open localhost:5173

Read this first

It ships deliberately unfinished in three places.

None of it is hard to complete. All of it is easy to miss, so it is on the landing page rather than buried in a changelog.

01

No authentication configured

So a fresh clone runs the second you unzip it. Every admin function routes through one file. Set a provider, delete the anonymous branch. The app shows a red banner until you do.

02

No respondent data rights

There is no delete-my-response path. If you collect personal data under GDPR or similar, you need to add one before you go live.

03

Partial accessibility

Keyboard navigation, labelling and reduced motion are handled in the runner. Modal overlays do not trap focus. Audit before a general audience sees it.

Questions people ask.

Is FlowForms actually free?

Yes. It is MIT licensed and costs nothing. There is no account to create, no trial that expires, and no paid tier holding features back. You give an email address so we can send the download link, and that is the whole transaction.

What do I need to run it?

Node 20 or newer and a free Convex project. Unzip the folder, run npm install, run npx convex dev in one terminal to sign in and create the project, then npm run dev in a second terminal. If you would rather keep everything on your own machines, a Docker Compose file for the self-hosted backend ships in the same folder.

Do I need to know how to code?

You should be comfortable opening a project and running a few commands in a terminal. FlowForms is a codebase you own rather than a hosted service, so there is no dashboard to sign into and nobody operating it for you. Editing forms afterwards is entirely visual.

Where do the responses go?

Into your own database. FlowForms writes to the Convex deployment you create, or to a self-hosted backend running on your own infrastructure. Nobody else holds the data, and there is no per-response limit because there is no plan to exceed.

Can I use it for client work or sell what I build on it?

Yes. The MIT licence lets you use it commercially, rename it, change it, and ship it inside something you charge for. You do not owe anything and you do not need permission.

Is it ready for production?

Not without three deliberate gaps closed first. Authentication is not configured, so a fresh clone runs immediately and shows a red banner until you set a provider up. There is no delete-my-response path, which you need if you collect personal data under GDPR or similar. Accessibility is partial: the runner handles keyboard navigation and reduced motion, but modal overlays do not trap focus. None of it is hard to complete, and the README walks through each one.

How is this different from Typeform or Paperform?

The feel is deliberately similar. The difference is ownership and what costs extra. Conditional logic, file uploads, removing the branding, custom fonts, CSV export and per-form SEO are all included, because there is no plan to upsell you to. In exchange you run the infrastructure yourself.

What happens to old responses when I edit a live form?

Nothing. Publishing snapshots the form into an immutable version row, and every response records the version it was answered against. Exports and per-response views read through that version, so editing a form can never reinterpret answers you already collected.

Take the whole thing.

Source and all, MIT licensed. Build client intake with it, rename it, ship it as part of something you sell. Put your email in and it is in your inbox in a minute.

MIT licensed. No account, no credit card, no trial that expires.