Open-source alternatives to Typeform: 3 form and survey builder tools compared
Moving a form builder onto your own infrastructure means the respondent data, the export and the styling finally belong to you, and the three projects here differ mostly in what shape of form they build and what licence you accept. heyform/heyform is the one most readers should look at first, because it is the closest match to the one-question-at-a-time model.
What Typeform does, and why people look elsewhere
Typeform is a hosted form builder known for one-question-at-a-time forms, logic jumps, and integrations that send responses to other tools.
- response limits per month on each plan
- respondent data is stored by the vendor
- form styling and logic are not exportable
The candidates at a glance
| Project | Licence | Maintenance | Language | GitHub stars | Install |
|---|---|---|---|---|---|
| heyform/heyform | AGPL-3.0Network copyleft: hosting a modified version means sharing source | Commits in the last six monthsLast push November 6, 2026 | TypeScript | 9,066 | Command documented |
| baptisteArno/typebot.io | Custom licenceCustom licence: read the LICENSE file | Commits in the last six monthsLast push November 7, 2026 | TypeScript | 10,609 | Command documented |
| formbricks/formbricks | Custom licenceCustom licence: read the LICENSE file | Commits in the last dayLast push November 7, 2026 | TypeScript | 13,224 | Command documented |
Each alternative in detail
heyform/heyformOpen-Source Form Builder
- Best for
- You want conversational forms, quizzes and polls on your own infrastructure, with the input types a survey needs: text, email, phone, picture choice, date picker and file upload, plus conditional logic, URL redirections, webhooks, CSV export and drop-off and completion analytics. Theming goes down to custom CSS.
- What you give up
- It is a monorepo rather than a single container, and our analysis of HeyForm says it is the wrong choice if you want one container with no external database, or if you need to embed the form builder inside a closed-source product. The AGPL-3.0 network clause is the other thing to settle, and you also have to confirm which database and storage the server package expects from the self-hosting page.
- First install step
- Full setup guide
pnpm install
baptisteArno/typebot.io💬 Typebot is a powerful chatbot builder that you can self-host.
- Best for
- You want a chatbot rather than a form, embeddable as a container, popup or chat bubble with a native JavaScript library and no iframe. The README lists more than 30 building blocks, logic through conditional branching, URL redirections, JavaScript scripting and A/B testing, and integrations including webhooks, OpenAI, Google Sheets, Google Analytics, Meta Pixel, Zapier, Make.com and Chatwoot.
- What you give up
- The licence needs care. The README text says the code is protected under a Functional Source License and points to docs.typebot.io for the terms rather than restating them, while a badge in the same README reads AGPLv3, so our analysis of Typebot tells you to read that page before you rely on either. WhatsApp is also not among the listed integrations, and the self-hosted run is a four-service compose file that needs ENCRYPTION_SECRET replaced with your own 32-character random string.
- First install step
- Full setup guide
docker compose up -d
formbricks/formbricksOpen Source Qualtrics Alternative
- Best for
- Your need is closer to in-product feedback and survey research than to a one-question-at-a-time form. The repository positions Formbricks as an open source alternative to Qualtrics, and it is TypeScript with a last push on 2026-09-21.
- What you give up
- The licence is one GitHub cannot classify, so the terms have to be read out of the repository rather than assumed, and for a company that is the first thing to settle. The repository also carries no tagged GitHub releases, so there is no version to pin and no release notes to read before an upgrade. The feature list here is one you assemble from the product's own documentation, so the evaluation is yours to do.
- First install step
- Full setup guide
pnpm install
Two conversational builders and one feedback platform
Typeform is a hosted form builder known for one-question-at-a-time forms, logic jumps, and integrations that send responses to other tools. People look elsewhere for three reasons. Response limits per month on each plan. Respondent data is stored by the vendor. And form styling and logic are not exportable, so a form you spent a week on lives in someone else's product.
The three projects here are not three versions of the same thing.
heyform/heyform is the direct answer. It is a TypeScript monorepo for conversational forms, quizzes and polls, and its README describes input types ranging from text, email and phone number through picture choice, date pickers and file uploads, conditional logic and URL redirections, integrations with webhooks, analytics tools, marketing platforms, Zapier and Make.com, visual themes with custom fonts, colours and backgrounds, advanced theming with custom CSS, analytics including drop-off and completion rates, and CSV export. The monorepo layout is worth knowing because it explains the deployment: separate packages for the Node server, the React webapp, an embed JavaScript library, a form rendering library, shared types and utilities.
baptisteArno/typebot.io is a chatbot builder rather than a form builder, and that difference shapes everything. The README describes more than 30 building blocks, split into bubbles for text, images, video, audio and embeds, inputs including text, email, phone, buttons, picture choice, a date picker, payment through Stripe and a file picker, and logic covering conditional branching, URL redirections, JavaScript scripting and A/B testing. It can run as a chatbot over HTTP requests, sit on a custom domain, or embed as a container, popup or chat bubble through a native JavaScript library that it says has no iframe and no external dependencies.
formbricks/formbricks is a different category again. The repository describes it as an open source alternative to Qualtrics, which places it in survey research and feedback rather than in form delivery. That is a legitimate answer to a different question, and it is worth knowing which question you are actually asking before you start reading installation guides.
Left out, and worth saying why: the survey platforms aimed at market research with sampling panels, and the form backends that are really HTTP schema generators. Both exist; neither is what someone leaving a hosted form builder for data residency is looking for.
Why Google Forms and Jotform are not on this list
Google Forms and Jotform are the two names that appear next to Typeform in most of these searches, and neither is here, because both are hosted services that keep respondent data on the vendor's infrastructure. That is the same property that makes Typeform the product being replaced.
The case for staying on either is not weak. Google Forms is free to use, sits inside a suite many organisations already have accounts for, and for a short internal questionnaire it is entirely adequate. Jotform is a long-established general form builder with a wide template library. If your respondents are colleagues, if the data is not sensitive, and if nobody is going to export it, a hosted form is a reasonable answer and everything on this page will add operational work for nothing.
What changes when the reason is the one in the brief is that the answers are the sensitive part. Once a survey collects personal data, health information, employee feedback that could identify a person, or anything a regulator might ask about, where the responses are stored stops being a preference. All three projects here put the responses, and the form definition, on infrastructure you control.
Also absent, and worth naming: a fourth category, the hosted form products built on these open source projects. A vendor who will run HeyForm or Typebot for you is a real option, and it keeps the software while giving up the part you were looking for.
One absence nobody fills here is the online-panel side of survey work. If your project needs respondents recruited for you, none of these three is that service.
Choosing by scenario: a solo user, a small team, a company with compliance needs, a developer embedding a form
The first question is whether you are collecting answers or running a conversation, because the three projects split cleanly on that.
A solo user building a quiz or a feedback form should look at heyform/heyform. Conversational forms are what it was built for, the theming is deep enough that the form does not look like everyone else's, and the CSV export means the data is yours from the first day. The one thing to check first is the deployment shape, because our analysis of HeyForm notes it is not a single container with no external database, and the monorepo structure means you are assembling a server, a webapp and an embed library.
A team that wants a support agent, a lead qualification flow or an interactive tour should look at baptisteArno/typebot.io instead. A/B testing inside the conversation, JavaScript scripting in the logic, Stripe as a payment input, and OpenAI as an integration are the features that distinguish a chatbot from a form, and the embed library is what makes it usable on a page you already have.
A company with compliance requirements is usually choosing between HeyForm and Formbricks, and the deciding question is what the responses are about. A survey about a product or a service fits the feedback platform. A questionnaire with conditional logic and a required data model fits the form builder. Both keep data in your own network, and both are on a licence that needs reading, one AGPL-3.0 and one that GitHub cannot classify.
A developer embedding a form into a product is the case with a real catch. HeyForm and Typebot both ship embed libraries, and our analysis of HeyForm is explicit that embedding the form builder inside a closed-source product is the wrong choice for it. Typebot's own documentation is where to check the terms for your use, and the embed itself is designed to avoid an iframe, which matters for styling and for performance.
What each one asks you to run and configure
The install commands on this page are the clearest signal of the difference between them.
baptisteArno/typebot.io shows docker compose up -d, and our analysis of Typebot describes a four-service compose file. That is the most conventional deployment of the three, and it is also the one with the sharpest configuration edge: you have to replace ENCRYPTION_SECRET with your own 32-character random string before the instance is safe, and you need to work out which of the two published images your deployment actually needs. The self-hosting instructions live at docs.typebot.io rather than in the README, and the licence terms are there too.
heyform/heyform shows pnpm install, which is a monorepo source-build command rather than a deployment. The README sends self-hosters to a separate documentation site for the installation instructions, to another page for local development, and to a third for connecting a self-hosted identity provider such as Authelia, Authentik or Keycloak over OpenID Connect. What the README does add is a set of one-click deployment templates, on Zeabur, Sealos, RepoCloud and Alibaba Cloud, which tells you the shape the project expects: a small set of services that a platform can assemble for you rather than a single binary.
formbricks/formbricks has no install command in our analysis. The repository carries no tagged GitHub releases, so there is no version to pin and no release notes to read before an upgrade, and the last push was 2026-09-21. That is a thin foundation for an operational decision, and it is the reason this entry is shorter than the other two.
The common thread is the export. All three can send results to a webhook, so the question worth asking before you commit is not whether the form works but whether the responses leave the system in a format your team can keep.
Licences: AGPL, a Functional Source License, and one GitHub cannot classify
Three projects, three different conversations with a legal team, and one of them needs the conversation to start with the README rather than the metadata.
heyform/heyform is AGPL-3.0. The README states that HeyForm is open source under the GNU Affero General Public License v3.0 and links to its own licence documentation for how to comply. For internal hosting without modification that is unremarkable. Our analysis of HeyForm makes the decision explicit: work out whether the AGPL-3.0 network clause applies to your deployment before you build on it, and if you intend to ship the builder inside a product, this is the licence that will stop you.
baptisteArno/typebot.io is the one to be careful with, because the repository reports a custom licence, a badge in the README reads AGPLv3, and the README body says the code is protected under a Functional Source License and points to docs.typebot.io/self-hosting#license-requirements for the terms. Our analysis of Typebot describes it as a Fair Source chatbot builder and repeats the advice to read that page rather than restate it. Three signals that do not agree is a reason to open the documentation, not to pick the one you prefer.
formbricks/formbricks is the third case: GitHub cannot classify the repository's licence, so the terms have to come from the repository itself. A survey platform that collects personal data and cannot be classified by a scanner is a question to answer before the first response arrives, not after.
One point applies to all three. The licence governs the builder, not the responses. Where the answers are stored, who can reach them, and how long they are kept is a separate decision that none of these licences settles for you.
Bottom line
Pick heyform/heyform for conversational forms, quizzes and polls with deep theming, baptisteArno/typebot.io when what you need is a chatbot embedded on a page you already have, and formbricks/formbricks when the requirement is survey research and product feedback rather than form delivery. Before committing, replace ENCRYPTION_SECRET on Typebot, confirm which database and storage the HeyForm server package wants, and read the actual licence text for whichever of the three you choose, because one of them reports three different licence signals.
Sources
Was this useful?