LimeSurvey vs Formbricks vs SurveyJS
Architecture and Technology Stack
The architectural differences between these three platforms shape everything from deployment to daily use, making this the most important factor in your decision.
LimeSurvey is a traditional server-rendered web application built on PHP with MySQL or PostgreSQL as the database layer. It runs as a self-contained application on a web server, generating HTML pages that respondents interact with through their browser. The admin interface, survey engine, response storage, and reporting all live within the same application. This monolithic architecture is straightforward to deploy and maintain, but it means LimeSurvey is always a standalone application that respondents visit separately from your product or website.
Formbricks uses a modern TypeScript and Next.js architecture with PostgreSQL for data storage. The platform runs as a containerized application using Docker, with a web dashboard for survey management and a separate JavaScript SDK for embedding surveys into your product. This split architecture allows Formbricks to function both as a standalone survey tool through link surveys and as an integrated feedback system that runs within your application through in-app surveys.
SurveyJS is not a server application at all. It is a set of client-side JavaScript libraries that render surveys within your existing web application's DOM. There is no server component, no admin dashboard, and no hosted service. You define surveys as JSON objects, pass them to the SurveyJS rendering engine, and handle the resulting response data through your own backend APIs. This gives developers maximum flexibility but requires the most custom development work.
Question Types and Survey Logic
LimeSurvey leads this category with over 80 question types. Beyond standard options like multiple choice, free text, and rating scales, LimeSurvey offers specialized types including array (flexible labels), dual scale array, multiple numerical input, ranking, file upload, equation, and date/time pickers. The expression manager allows any question to reference any previous answer using a formula syntax, enabling complex conditional logic that goes far beyond simple show/hide rules. You can create calculated scores, adaptive question sequences, and validation rules that reference multiple fields simultaneously.
Formbricks offers approximately 15 to 20 question types focused on the most common feedback scenarios: star ratings, NPS scales, multiple choice, free text, picture selection, consent checkboxes, and CTA buttons. The logic capabilities include conditional question display and simple branching. Formbricks intentionally limits complexity to keep survey creation fast and accessible for non-technical users. For product feedback and customer satisfaction measurement, the available question types cover the vast majority of use cases.
SurveyJS provides around 20 built-in question types with the ability to create custom question types through its plugin architecture. The logic system supports conditional visibility, calculated values, expression-based defaults, and custom validators written in JavaScript. Because you have access to the full client-side runtime, you can implement any logic pattern that JavaScript supports, making SurveyJS theoretically the most flexible option for complex form behavior, though it requires developer effort to implement.
Survey Delivery and Distribution
How surveys reach respondents is where these platforms diverge most sharply.
LimeSurvey distributes surveys as standalone web pages accessible through unique URLs. It includes a built-in email system for sending survey invitations with personalized tokens that track who has responded and enable reminder emails to non-respondents. Surveys can be open to anyone with the link, restricted to invited participants via tokens, or embedded in web pages through iframes. LimeSurvey also supports offline data collection through its optional companion app, useful for field research and face-to-face interviews.
Formbricks excels here with its three-channel approach. Link surveys work like traditional survey tools, generating a URL you share with respondents. Website surveys display as popups or slide-ins on your marketing site, triggered by scroll depth, time on page, or exit intent. In-app surveys appear within your product based on user events like completing onboarding, using a feature, or reaching a usage milestone. This event-driven delivery captures feedback at the exact moment the experience occurs, which typically produces more relevant and higher-quality responses than retrospective surveys sent later.
SurveyJS has no built-in distribution mechanism. Because it runs as a library within your application, survey delivery is entirely your responsibility. You decide when and where to show a survey, how to authenticate respondents, and how to manage survey lifecycle. This is appropriate when surveys are a feature of your product rather than a standalone activity, but it means you need to build all the delivery infrastructure yourself.
Data Analysis and Reporting
LimeSurvey includes the most comprehensive built-in analytics. The statistics module provides response summaries with charts, cross-tabulation between questions, and filtering by any response field or respondent attribute. You can export raw data to CSV, Excel, SPSS (.sav), R, Stata, and PDF formats, which lets researchers move directly from data collection into their preferred statistical analysis environment. LimeSurvey also generates printable survey reports and supports custom report templates.
Formbricks provides real-time response summaries with basic charts and filtering. The analytics are designed for product feedback analysis rather than statistical research, so you get response counts, averages, trends over time, and sentiment indicators rather than cross-tabulation or significance testing. Data can be exported to CSV, and integrations with Notion, Airtable, and Google Sheets enable teams to build custom dashboards using tools they already know.
SurveyJS includes no built-in analytics. Response data is returned as JSON objects that your application stores and processes. You are responsible for building any reporting, visualization, or export functionality. For teams with existing analytics infrastructure, this is not a limitation since survey data integrates directly into their pipelines. For teams without analytics capabilities, this represents a significant additional development effort.
Deployment and Maintenance
LimeSurvey is the easiest to deploy on traditional hosting. It requires a PHP-capable web server (Apache or Nginx), PHP 8.0 or higher, and MySQL 5.7+ or PostgreSQL 10+. Installation involves downloading the application, pointing your web server at it, and running the browser-based installer. Docker images are also available from the community, though not officially maintained by the LimeSurvey team. Updates are released regularly and can be applied through the admin interface or by replacing files on the server.
Formbricks is designed for Docker deployment. The official docker-compose configuration brings up the full application with a single command, including the database and all required services. This makes initial deployment straightforward for teams familiar with Docker, but adds complexity for organizations that do not use containerized deployments. Formbricks releases updates frequently, and Docker-based deployments can update by pulling new images.
SurveyJS deployment is handled through npm package installation. You add the library to your project's dependencies, import it into your components, and it becomes part of your application's build. Updates follow your standard dependency management workflow. Because SurveyJS is a library rather than an application, there is no separate server to maintain, but your development team needs to integrate it properly and maintain that integration across your application's releases.
Licensing and Cost
LimeSurvey Community Edition uses the GPL v2 license, which is permissive for self-hosted deployments. You can run it for any purpose, modify it, and share modifications as long as you distribute them under the same license. The commercial editions (LimeSurvey Professional) add cloud hosting, premium themes, and support, with pricing starting around 50 EUR per month.
Formbricks uses the AGPL v3 license, which has stricter requirements than GPL for network-facing applications. If you modify Formbricks and make it available over a network, you must release your modifications under the same license. The cloud-hosted version offers a free tier with limited responses and paid plans for higher volumes. Self-hosting is free for unlimited use.
SurveyJS splits its licensing. The core form library (survey-core) is MIT-licensed, completely free for any use including commercial products. The Survey Creator (visual form designer) uses a developer license that is free for non-commercial projects and requires a paid license starting at $749 per developer for commercial use. If your team can define surveys in JSON without the visual designer, SurveyJS is entirely free.
Community and Ecosystem
LimeSurvey has the largest and most established community. Its forums, documentation, and plugin ecosystem reflect over two decades of development. Third-party plugins cover integrations with CRM systems, payment processors, and custom question types. The documentation is comprehensive but dense, reflecting the platform's extensive feature set.
Formbricks has a growing and active community centered on GitHub. The project attracts contributors regularly, and the development team engages directly with users through GitHub issues and Discord. Documentation is well-organized and accessible, with guides that focus on common use cases rather than exhaustive feature coverage.
SurveyJS provides commercial-grade documentation with detailed API references, interactive examples, and getting-started guides for each supported framework. The community is primarily developer-focused, with Stack Overflow and GitHub issues as the main support channels.
Choose LimeSurvey if you need complex survey instruments with advanced logic, statistical exports, and proven reliability for research. Choose Formbricks if you want to collect product feedback through in-app surveys with modern integrations. Choose SurveyJS if you are building forms into a web application and need complete control over rendering, styling, and data flow.