If you’re searching for a free, open-source survey platform that rivals popular SaaS products like SurveyMonkey, two strong contenders stand out: LimeSurvey and SurveyJS. Both platforms are mature, with large communities and available commercial options. In this article, we’ll compare LimeSurvey and SurveyJS, highlighting their strengths and weaknesses to help you choose the best fit for your needs.
TL;DR SurveyJS is more flexible, integrates well into existing/new applications and targets modern JavaScript frameworks. However it doesn’t provide a backend. LimeSurvey is a mature end-to-end solution with a full-featured backend, but requires PHP development expertise.
This is a valid question. With the native form capabilities of HTML5 and many free, open-source form component libraries available, building a basic form page with a simple server application might be all you need for straightforward requirements. So, why opt for something more complex?
Platforms like LimeSurvey and SurveyJS offer several advantages:
The most important thing to know about LimeSurvey is that it’s a PHP-based application. As a result, all the magic happens server-side, although you can deploy custom JavaScript when needed. If you lack PHP expertise, this could be a deal-breaker. However, if PHP is not an issue and you’re looking for a fully integrated survey platform with both frontend and backend capabilities, LimeSurvey is a solid choice.
LimeSurvey has been around for quite some time, with version 1 launched in 2003 and version 6.1 released in 2023. The library is maintained by LimeSurvey GmbH, based in Hamburg, Germany, which also offers premium services such as LimeSurvey Cloud, a fully managed hosted version. LimeSurvey boasts an active community and a network of official partners, which can be found at LimeSurvey.com.
SurveyJS focuses solely on frontend survey functionality. As the name suggests, it’s written entirely in JavaScript and offers support for modern frameworks like React, Vue, and Angular 2+, as well as vanilla jQuery. Surveys are defined in JSON, with the survey interface rendered directly in the browser, and survey data returned as JSON. There’s no backend library, meaning SurveyJS isn’t a one-click install. You can either use a third-party backend, such as our own open-source Endatix Platform, or develop your own. The advantage of this approach is the flexibility it offers when choosing your server-side tech stack.
SurveyJS is newer than LimeSurvey, with version 1 released in 2017 and version 1.11 in 2024. The library is maintained by DevSoft Baltic OÜ, based in Tallinn, Estonia, and offers paid licenses for the commercial use of Survey Creator, PDF Generator, and Survey Analytics packages. The community is active on SurveyJS support pages and GitHub.
Listing every question type is beyond the scope of this article. It’s fair to say that both LimeSurvey and SurveyJS support the range of question types you would expect, from simple text fields to matrix questions and Net Promoter Score.
Both platforms can be extend to add custom question types and widgets. If you have edge-case requirements it’s worth checking the specs in detail but in that case you will probably need a custom solution no matter the platform you choose.
Both LimeSurvey and SurveyJS have support for conditional question display logic, for example to provide branching logic (where different questions are shown deepening on previous answers) or answer scoring.
With LimeSurvey you can set conditions on individual questions, or you can build complex logic using the Expression Manager.
In SurveyJS you can set arbitrary JavaScript functions to run when conditions are met, resulting in complex manipulation of the survey content. For example, see our article about changing the flow of a SurveyJS form, based on the referrer url.
Both LimeSurvey and SurveyJS have the capability to show arbitrary HTML before and after a survey, including links to other pages. In both cases you edit the content in a rich text editor similar to the ones in a CMS.
LimeSurvey offers comprehensive theming. Its theme engine is based on Twig 1.29, Bootstrap, and allows theme inheritance which operates in a similar way to WordPress theming. The LimeSurvey backend includes a theme Editor.
SurveyJS comes with several themes out of the box. These are based on Bootstrap and Material Design. You can add your own custom theme or edit an existing theme, but no visual theme editor is provided.
Both LimeSurvey and SurveyJS offer responsive templates out of the box.
LimeSurvey can be configured to use external data for questions, but this requires custom coding.
SurveyJS offers out-of-the-box support for dynamic fetching of data from third party sources, for example to populate response options on the fly.
LimeSurvey renders standalone web pages which can be embedded via iframe into your pages.
SurveyJS is designed to integrate directly into your page. This means that your forms can interact directly with your page logic.
LimeSurvey does not offer out of the box integration with any CMS. Surprisingly, the third party SurveyPress plugin for WordPress appears to be abandoned. It has had no updates since 2016.
SurveyJS offers a WordPress plugin with regular updates. They state that they are working on other CMS integrations that will be released in the future.
LimeSurvey presents data in the backend. You can view survey results in a familiar data grid layout and you can export data to CSV.
Being a front-end library, SurveyJS does not offer any data management or export features out-of-the-box. Any data export capabilities will depend on the backend being used. Users of the free hosted service can export data as CSV, JSON and XLSX.
LimeSurvey stores response data in an SQL database and makes this data available via an XML-RPC/JSON-RPC based web service which exposes a well-documented API.
SurveyJS does not store data and exposes data by making calls to endpoints that you define. Those endpoints depend on the backend being used.
LimeSurvey does not provide out of the box analytics for survey results, but you can extract data from the backend for presentation in your own pages.
SurveyJS offers a paid-for client side Analytics Pack which you can use to create dashboards and reports. It currently supports basic pie and bar charts, gauge and word cloud formats. It is a new addition so expect coverage to improve rapidly. Note however that the analytics pack performs calculations on the client side, which may be a blocker if you are concerned about transferring large amounts of data to the browser.
Both LimeSurvey and SurveyJS are broadly ADA/508/WAI compliant. However this is a complex area and you should rely on your own testing to validate accessibility in the front and back ends.
LimeSurvey supports multilingual surveys. Its translation tools are available to non-technical users through the backend. To create a multilingual survey, users select a base language and then provide translations of questions and response options. LimeSurvey provides localisation of the application itself for 80+ languages.
LimeSurvey offers a single user manual that covers both technical implementation and non-technical user needs. This manual is community-provided in Wiki form and, while comprehensive, it can sometimes be inconsistent, incomplete, or outdated. The documentation primarily caters to developers, though it does include some sections on the backend that are relevant for non-technical users.
SurveyJS has extensive technical documentation with many working examples in every supported frontend framework. End-user documentation is also available, so you won’t need to provide onboarding materials for business users.
LimeSurvey publishes updates on GitHub. It also offers ComfortUpdate, a paid-for one-click automated update service for users of the FOSS edition. Buyers get access to automated updates for 3, 6 or 12 months. This is different to the paid-for hosted LimeSurvey service.
LimeSurvey comes with an integrated backend. This provides a survey management environment with a similar range of features to most SaaS products. Non-technical users can create surveys in a structured form-based builder and choose/edit themes. The backend has controls to publish/unpublish surveys and presents responses in a conventional grid layout. Data can be exported as CSV. Users can import panels of respondents and generate keys for secure access.
SurveyJS is a strictly frontend library and does not come with a backend. This means that SurveyJS can be integrated in any backend application, regardless of its tech stack or database engine. The documentation includes guides on backend architecture as well as come working code samples.
Endatix recently released an open-source SurveyJS backend for .NET Core, which could also be deployed in a Docker container.
LimeSurvey distinguishes between its paid-for hosted edition LimeSurvey Cloud (formerly called LimeSurvey Pro) and the FOSS LimeSurvey Community Edition (LimeSurvey CE). The codebases are the same. LimeSurvey Cloud is a fully managed service. It has a similar model to WordPress.com. You get the latest stable updates and they take care of availability for you, but you can’t install plugins. Three paid plans are available https://www.limesurvey.org/pricing
In addition to its free and open-source library, SurveyJS offers three products that are open-source but require a paid license for commercial use:
As of the date of this post, the licenses are perpetual with an optional subscription for updates. Refer to SurveyJS’s pricing page for more details.
So: LimeSurvey vs SurveyJS - what’s the verdict? In our view the two platforms address different use cases, and your choice will be clear depending on your needs.
However, they have strengths in common. Both offer comprehensive ranges of question types, in-survey logic, control over styling, effective localisation and support for accessibility. Both are mature FOSS libraries with regular updates and active communities.
LimeSurvey is ideal if you want a one-click end-to-end solution covering back and front ends, but requires a commitment to PHP. It operates as a standalone application rather than an integrated library.
SurveyJS is ideal for tight integration with new or existing applications. It is backend agnostic and has versions targeting the major frontend frameworks. However it assumes you already have data infrastructure or you are going to build a backend of your own.
We offer expert advice on architecture, provide training for SurveyJS and the Endatix backend, and assist with development and implementation of your solution. Feel free to contact us—we're passionate about software and always happy to chat!