{"id":7223,"date":"2026-06-30T01:47:54","date_gmt":"2026-06-30T01:47:54","guid":{"rendered":"https:\/\/extendedforms.io\/blog\/7-best-open-source-form-builders-in-2026-self-hosted"},"modified":"2026-06-30T01:47:54","modified_gmt":"2026-06-30T01:47:54","slug":"7-best-open-source-form-builders-in-2026-self-hosted","status":"publish","type":"post","link":"https:\/\/extendedforms.io\/blog\/7-best-open-source-form-builders-in-2026-self-hosted","title":{"rendered":"7 Best Open-Source Form Builders in 2026 (Self-Hosted)"},"content":{"rendered":"<p>Every hosted form tool bills you the same way: per response, per seat, or both. Typeform&#8217;s free plan stops at 100 responses a month, then it&#8217;s $28\/mo to keep going. Jotform&#8217;s free tier caps you at 5 forms and 100 submissions. Formstack doesn&#8217;t even have a free tier &#8211; it&#8217;s a 14-day trial, then $83\/mo. And on every one of them, your respondents&#8217; answers live on someone else&#8217;s servers, which is a real problem the moment you&#8217;re collecting anything personal.<\/p>\n<p>There&#8217;s a way out that most people skip because it sounds harder than it is: self-host an open-source form builder. You get unlimited forms, unlimited responses, your data on a server you control, and a flat monthly cost that doesn&#8217;t move when your form goes viral.<\/p>\n<p>I went through the seven open-source form builders worth running in 2026, checked the actual licenses and databases (a lot of comparison posts get these wrong), and lined them up against the SaaS tools they replace. Here&#8217;s what&#8217;s real.<\/p>\n<h2>First, the catch nobody mentions<\/h2>\n<p>These aren&#8217;t static sites you can drop on a CDN. Every one of them needs a database, and most need SMTP to send email notifications. So you need a real server with a database attached, not a serverless function or a frontend-only host like Vercel.<\/p>\n<p>That&#8217;s the one honest tradeoff. The upside is everything after that: no response caps, no per-seat pricing, no surprise bill, and full ownership of the data.<\/p>\n<h2>The 7 open-source form builders<\/h2>\n<h3>1. OpnForm &#8211; the closest thing to a no-code Typeform you can own<\/h3>\n<p>OpnForm is a clean, no-code form builder (PHP\/Laravel backend, Vue frontend) that feels a lot like the hosted tools but runs on your own box. It defaults to PostgreSQL and also supports MySQL\/MariaDB, and it ships docker-compose files so self-hosting is a copy-paste away.<\/p>\n<ul>\n<li><strong>License:<\/strong> AGPLv3 (open-core &#8211; a few advanced features sit behind a separate Enterprise license)<\/li>\n<li><strong>Database:<\/strong> PostgreSQL by default, MySQL\/MariaDB supported<\/li>\n<li><strong>Honest caveat:<\/strong> It&#8217;s a small-team project, so weigh the bus-factor before you bet a critical workflow on it.<\/li>\n<li><strong>Best for:<\/strong> Teams that want the Typeform feel without the Typeform bill.<\/li>\n<\/ul>\n<h3>2. Formbricks &#8211; if you&#8217;re running real survey volume<\/h3>\n<p>Formbricks (TypeScript\/Next.js, Prisma, ~12.5k GitHub stars) is the heavyweight here. It&#8217;s pitched as an experience-management platform &#8211; think Qualtrics, not a contact form. The managed cloud free tier gives you 250 responses a month and the entry paid plan is $74\/mo, so the self-hosted version pays for itself fast if you collect any real volume.<\/p>\n<ul>\n<li><strong>License:<\/strong> AGPLv3 core (Enterprise edition under a separate commercial license)<\/li>\n<li><strong>Database:<\/strong> PostgreSQL (Redis optional for caching)<\/li>\n<li><strong>Honest caveat:<\/strong> Overkill for simple forms, and some SSO\/role features are Enterprise-gated.<\/li>\n<li><strong>Best for:<\/strong> Product and research teams running ongoing surveys at scale.<\/li>\n<\/ul>\n<h3>3. HeyForm &#8211; polished, but MongoDB-only<\/h3>\n<p>HeyForm (Node\/NestJS + React, ~8.9k stars) is one of the better-looking open-source builders, with a genuinely nice form-design experience. Its hosted Basic plan is $15\/mo for 5,000 responses, which tells you what you&#8217;re saving by running it yourself.<\/p>\n<ul>\n<li><strong>License:<\/strong> AGPL-3.0<\/li>\n<li><strong>Database:<\/strong> MongoDB only (plus a Redis-compatible cache)<\/li>\n<li><strong>Honest caveat:<\/strong> No SQL path at all. If your stack is standardized on Postgres or MySQL, that&#8217;s a dealbreaker.<\/li>\n<li><strong>Best for:<\/strong> Mongo-friendly teams who care about form aesthetics.<\/li>\n<\/ul>\n<h3>4. Typebot &#8211; conversational forms, with a license asterisk<\/h3>\n<p>Typebot (~10.1k stars) builds one-question-at-a-time conversational forms and chatbot-style flows. Its hosted free tier is 200 chats a month and the Starter plan is $39\/mo for 2,000, so self-hosting is the obvious move if you&#8217;re doing any volume.<\/p>\n<p>One thing the comparison roundups keep getting wrong: Typebot is <strong>not<\/strong> AGPL. It uses the Functional Source License (FSL), which is &#8220;Fair Source&#8221; &#8211; the code converts to Apache\/MIT after two years, but until then you can&#8217;t offer it as a competing hosted service. For self-hosting your own forms, that restriction never touches you.<\/p>\n<ul>\n<li><strong>License:<\/strong> Functional Source License (FSL), not AGPL<\/li>\n<li><strong>Database:<\/strong> PostgreSQL (plus Redis and S3-compatible storage for uploads)<\/li>\n<li><strong>Honest caveat:<\/strong> It&#8217;s chat-style flows, not classic multi-field forms.<\/li>\n<li><strong>Best for:<\/strong> Lead-qual flows, quizzes, and anything that should feel like a conversation.<\/li>\n<\/ul>\n<h3>5. LimeSurvey &#8211; the old reliable for long surveys<\/h3>\n<p>LimeSurvey has been around longer than most of this list and it shows, in both directions. It&#8217;s a serious survey platform (PHP\/Yii) that handles complex branching and academic-grade questionnaires, and it&#8217;s flexible on the database &#8211; MySQL\/MariaDB, PostgreSQL, or MSSQL all work. The Community Edition self-hosts cleanly via Docker, while LimeSurvey Cloud starts around \u20ac29\/mo.<\/p>\n<ul>\n<li><strong>License:<\/strong> GPL v2.0 or later (note: GPL, not AGPL)<\/li>\n<li><strong>Database:<\/strong> MySQL\/MariaDB, PostgreSQL, or MSSQL<\/li>\n<li><strong>Honest caveat:<\/strong> The UX feels dated and the install is heavier than the modern tools.<\/li>\n<li><strong>Best for:<\/strong> Long, logic-heavy surveys and research.<\/li>\n<\/ul>\n<h3>6. Form.io &#8211; for developers embedding forms in an app<\/h3>\n<p>Form.io isn&#8217;t a no-code builder you hand to a marketer. It&#8217;s a JSON-schema-driven form-and-data API (Node.js core, React renderer) meant to be embedded inside your own application. Powerful if that&#8217;s the job, overkill if it isn&#8217;t. Staying on their hosted SaaS reportedly starts around $300\/mo, which is exactly why teams self-host the core.<\/p>\n<ul>\n<li><strong>License:<\/strong> OSL-3.0 (Open Software License, copyleft &#8211; not MIT or AGPL)<\/li>\n<li><strong>Database:<\/strong> MongoDB required<\/li>\n<li><strong>Honest caveat:<\/strong> Developer tool, MongoDB-only, and the real enterprise features are quote-priced.<\/li>\n<li><strong>Best for:<\/strong> Engineering teams embedding dynamic forms in a product.<\/li>\n<\/ul>\n<h3>7. Baserow &#8211; an Airtable that happens to do forms<\/h3>\n<p>Baserow (Django + Vue, PostgreSQL) is essentially an open-source Airtable, and its Form view is a data-collection front door into a table. If you already want a no-code database and forms are a feature you need, this is two tools in one. The free plan includes the Form view, and Premium is $10\/user\/mo.<\/p>\n<ul>\n<li><strong>License:<\/strong> MIT core (Premium and Enterprise separately licensed)<\/li>\n<li><strong>Database:<\/strong> PostgreSQL<\/li>\n<li><strong>Honest caveat:<\/strong> It&#8217;s a database first &#8211; the Form view has less styling and logic than a dedicated builder.<\/li>\n<li><strong>Best for:<\/strong> Teams that want a no-code database with forms attached.<\/li>\n<\/ul>\n<h2>Side-by-side<\/h2>\n<table>\n<thead>\n<tr>\n<th>Tool<\/th>\n<th>License<\/th>\n<th>Database<\/th>\n<th>Self-host (Docker)<\/th>\n<th>Hosted plan starts at<\/th>\n<th>Best for<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>OpnForm<\/td>\n<td>AGPLv3<\/td>\n<td>PostgreSQL \/ MySQL<\/td>\n<td>Yes<\/td>\n<td>Paid cloud available<\/td>\n<td>No-code, Typeform-style forms<\/td>\n<\/tr>\n<tr>\n<td>Formbricks<\/td>\n<td>AGPLv3<\/td>\n<td>PostgreSQL<\/td>\n<td>Yes<\/td>\n<td>$74\/mo<\/td>\n<td>Surveys at scale<\/td>\n<\/tr>\n<tr>\n<td>HeyForm<\/td>\n<td>AGPL-3.0<\/td>\n<td>MongoDB<\/td>\n<td>Yes<\/td>\n<td>$15\/mo<\/td>\n<td>Good-looking forms<\/td>\n<\/tr>\n<tr>\n<td>Typebot<\/td>\n<td>FSL (Fair Source)<\/td>\n<td>PostgreSQL<\/td>\n<td>Yes<\/td>\n<td>$39\/mo<\/td>\n<td>Conversational flows<\/td>\n<\/tr>\n<tr>\n<td>LimeSurvey<\/td>\n<td>GPLv2+<\/td>\n<td>MySQL \/ PostgreSQL \/ MSSQL<\/td>\n<td>Yes<\/td>\n<td>~\u20ac29\/mo<\/td>\n<td>Long, logic-heavy surveys<\/td>\n<\/tr>\n<tr>\n<td>Form.io<\/td>\n<td>OSL-3.0<\/td>\n<td>MongoDB<\/td>\n<td>Yes<\/td>\n<td>~$300\/mo<\/td>\n<td>Embedded form APIs for devs<\/td>\n<\/tr>\n<tr>\n<td>Baserow<\/td>\n<td>MIT (core)<\/td>\n<td>PostgreSQL<\/td>\n<td>Yes<\/td>\n<td>$10\/user\/mo<\/td>\n<td>No-code database + forms<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h2>What they&#8217;re actually replacing<\/h2>\n<p>The whole reason to self-host is the SaaS pricing on the other side. Here&#8217;s where the hosted form tools land in 2026:<\/p>\n<table>\n<thead>\n<tr>\n<th>SaaS tool<\/th>\n<th>Free tier<\/th>\n<th>Entry paid plan<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>Typeform<\/td>\n<td>100 responses\/mo, 1 user<\/td>\n<td>$28\/mo (Basic, annual)<\/td>\n<\/tr>\n<tr>\n<td>Jotform<\/td>\n<td>5 forms, 100 submissions\/mo<\/td>\n<td>$34\/mo (Bronze, annual)<\/td>\n<\/tr>\n<tr>\n<td>Tally<\/td>\n<td>Unlimited forms + submissions<\/td>\n<td>$24\/mo (Pro)<\/td>\n<\/tr>\n<tr>\n<td>Formstack<\/td>\n<td>None (14-day trial)<\/td>\n<td>$83\/mo (annual)<\/td>\n<\/tr>\n<tr>\n<td>Google Forms<\/td>\n<td>Free, unlimited<\/td>\n<td>Bundled in Workspace (~$6\/user\/mo)<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>Two honest notes. Tally&#8217;s free plan is genuinely generous &#8211; unlimited forms and submissions &#8211; so if you just need a quick form and don&#8217;t care where the data lives, it&#8217;s hard to beat. And Google Forms is free, but the catch is data ownership (everything sits on Google&#8217;s servers) plus weak logic: branching only works at the section level on multiple-choice questions, with no AND\/OR conditions. If you&#8217;re staying on Google Forms anyway, an add-on like <a href=\"https:\/\/extendedforms.io\">Extended Forms<\/a> bolts on response limits, timers, and quiz scoring that the base tool doesn&#8217;t do.<\/p>\n<p>But the moment you&#8217;re collecting personal data, running real volume, or need branching logic that holds up, self-hosting wins on both cost and control.<\/p>\n<h2>So what does self-hosting actually cost?<\/h2>\n<p>The software is free. What you pay for is the server it runs on, and this is where people overthink it.<\/p>\n<p>You have two honest options. A raw $4-5\/mo VPS (Hetzner, DigitalOcean) works fine if you&#8217;re happy wiring up nginx, SSL, a process manager, and the database yourself. Budget a couple of hours the first time.<\/p>\n<p>If you&#8217;d rather skip the DevOps, a managed pod is the shortcut. Most of these tools are PostgreSQL or MySQL apps, and on a platform like <a href=\"https:\/\/instapods.com\" target=\"_blank\" rel=\"noopener\">InstaPods<\/a> the database is included in the flat $7\/mo Build plan &#8211; no separate $7\/mo database add-on the way Render charges. You SSH in, deploy the app, point your domain, and you&#8217;re done. Flat price, unlimited responses, your data on your own server.<\/p>\n<p>Either way you land in the same place: a form builder you own, for less per month than a single hosted plan, with no cap on how many people fill it out.<\/p>\n<h2>FAQ<\/h2>\n<p><strong>What&#8217;s the best open-source form builder in 2026?<\/strong><br \/>\nIt depends on the job. OpnForm is the best general-purpose, no-code pick. Typebot wins for conversational, one-question-at-a-time flows. Formbricks is the choice for serious surveys, and Baserow if you want a no-code database with forms attached.<\/p>\n<p><strong>Is there an open-source Typeform alternative?<\/strong><br \/>\nYes &#8211; OpnForm is the closest no-code match, and Typebot covers Typeform&#8217;s conversational style. Both self-host on your own server with no response caps.<\/p>\n<p><strong>Can I self-host a form builder for free?<\/strong><br \/>\nThe software is free and open source. You still pay for the server it runs on, which is roughly $4-5\/mo on a raw VPS or $7\/mo on a managed pod with the database included. There&#8217;s no per-response fee either way.<\/p>\n<p><strong>Do open-source form builders need a database?<\/strong><br \/>\nAlmost all of them. Most use PostgreSQL (OpnForm, Formbricks, Typebot, Baserow); LimeSurvey is flexible (MySQL\/PostgreSQL\/MSSQL); HeyForm and Form.io require MongoDB. None of them run as a static site, so you need a real server with a database.<\/p>\n<p><strong>Which open-source form builder is the cheapest to run?<\/strong><br \/>\nAll of them cost the same to host &#8211; the price is your server, not the software. The cheapest setup is any of the PostgreSQL apps (OpnForm, Formbricks) on a single small server, since you only pay once for the box no matter how many forms or responses you collect.<\/p>\n<hr \/>\n<p>You built the form. Now own the data behind it. Pick the tool that fits, put it on a server you control, and stop paying per response. <strong><a href=\"https:\/\/instapods.com\" target=\"_blank\" rel=\"noopener\">Deploy an open-source form builder on InstaPods \u2192<\/a><\/strong> &#8211; $7\/mo flat, database included, your data stays yours.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Every hosted form tool bills you the same way: per response, per seat, or both. Typeform&#8217;s free plan stops at 100 responses a month, then it&#8217;s $28\/mo to keep going. Jotform&#8217;s free tier caps you at 5 forms and 100 submissions. Formstack doesn&#8217;t even have a free tier &#8211; it&#8217;s a 14-day trial, then $83\/mo. &hellip;<\/p>\n<p class=\"read-more\"> <a class=\"\" href=\"https:\/\/extendedforms.io\/blog\/7-best-open-source-form-builders-in-2026-self-hosted\"> <span class=\"screen-reader-text\">7 Best Open-Source Form Builders in 2026 (Self-Hosted)<\/span> Read More &raquo;<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"site-sidebar-layout":"default","site-content-layout":"default","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":""},"categories":[487,202],"tags":[],"_links":{"self":[{"href":"https:\/\/extendedforms.io\/blog\/wp-json\/wp\/v2\/posts\/7223"}],"collection":[{"href":"https:\/\/extendedforms.io\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/extendedforms.io\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/extendedforms.io\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/extendedforms.io\/blog\/wp-json\/wp\/v2\/comments?post=7223"}],"version-history":[{"count":0,"href":"https:\/\/extendedforms.io\/blog\/wp-json\/wp\/v2\/posts\/7223\/revisions"}],"wp:attachment":[{"href":"https:\/\/extendedforms.io\/blog\/wp-json\/wp\/v2\/media?parent=7223"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/extendedforms.io\/blog\/wp-json\/wp\/v2\/categories?post=7223"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/extendedforms.io\/blog\/wp-json\/wp\/v2\/tags?post=7223"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}