SurveyJS v3.2.4 is out!
Read-Only View Mode now lets you present a filled-out form as a readable record. Answers appear as text or other non-interactive elements, so users can review the information easily.
The two settings work together:
- "readOnly": true prevents users - "readOnlyMode": "view" controls how those read-only answers appear.
In JavaScript:
survey.readOnly = true;
survey.readOnlyMode = "view";
You can apply view mode to the entire form or configure it for individual pages, panels, or questions. Setting readOnlyMode controls the presentation when that element is read-only.
Try it out👇 Read Only demo: surveyjs.io/form-library/e…
This release also brings keyboard hints and new Tailwind CSS v4 theme adapter to help your forms feel like a natural part of your Tailwind app.
Explore all updates: surveyjs.io/stay-updated/r…
Read-Only View Mode now lets you present a filled-out form as a readable record. Answers appear as text or other non-interactive elements, so users can review the information easily.
The two settings work together:
- "readOnly": true prevents users - "readOnlyMode": "view" controls how those read-only answers appear.
In JavaScript:
survey.readOnly = true;
survey.readOnlyMode = "view";
You can apply view mode to the entire form or configure it for individual pages, panels, or questions. Setting readOnlyMode controls the presentation when that element is read-only.
Try it out👇 Read Only demo: surveyjs.io/form-library/e…
This release also brings keyboard hints and new Tailwind CSS v4 theme adapter to help your forms feel like a natural part of your Tailwind app.
Explore all updates: surveyjs.io/stay-updated/r…
2
0
6
281
SurveyJS v3.2.2 makes it easier to answer forms with a keyboard.
Radio Button Group, Checkboxes, and Image Picker questions support optional letter shortcuts (A, B, ..., Z, AA, ...). When the question has keyboard focus, press a choice's shortcut to select it. In questions that ns, pressing the same shortcut again clears that choice.
Set choiceShortcutsEnabled: true in your survey JSON or turn on Enable choice shortcuts in Survey Creator to enable shortcuts across supported questions.
Turn on Show keyboard hints to display the available keyboard actions below each question so respondents can see which keys to use.
You can override both settings for individual questions.
For details on how keyboard navigation works when auto-advance is enabled, see the v3.2.2 release notes: surveyjs.io/stay-updated/r…
Radio Button Group, Checkboxes, and Image Picker questions support optional letter shortcuts (A, B, ..., Z, AA, ...). When the question has keyboard focus, press a choice's shortcut to select it. In questions that ns, pressing the same shortcut again clears that choice.
Set choiceShortcutsEnabled: true in your survey JSON or turn on Enable choice shortcuts in Survey Creator to enable shortcuts across supported questions.
Turn on Show keyboard hints to display the available keyboard actions below each question so respondents can see which keys to use.
You can override both settings for individual questions.
For details on how keyboard navigation works when auto-advance is enabled, see the v3.2.2 release notes: surveyjs.io/stay-updated/r…
0
0
3
112
SurveyJS v3.2.3: Performance improvements ⏩
Large, complex forms now load and respond faster, and Survey Creator opens tabs more quickly.
In our large-form benchmarks comparing v3.2.0 with v3.2.3:
- Survey model loading took 90% less time.
- Repeated answer processing took 98% less time.
- Creator's Translation tab opened in about 0.1 seconds, down from 6.8 seconds.
- The initial Designer DOM contained 67% fewer nodes.
These results reflect cumulative October optimizations. Performance varies by form and environment.
See the benchmarks and implementation details 👇
surveyjs.io/stay-updated/r…
Large, complex forms now load and respond faster, and Survey Creator opens tabs more quickly.
In our large-form benchmarks comparing v3.2.0 with v3.2.3:
- Survey model loading took 90% less time.
- Repeated answer processing took 98% less time.
- Creator's Translation tab opened in about 0.1 seconds, down from 6.8 seconds.
- The initial Designer DOM contained 67% fewer nodes.
These results reflect cumulative October optimizations. Performance varies by form and environment.
See the benchmarks and implementation details 👇
surveyjs.io/stay-updated/r…
1
0
5
131
Describe who you want to survey and what you want to learn — Pollarix AI drafts the questions.
Pollarix then uses SurveyJS to detect errors loading the draft and adds its own checks for problems such as missing answer choices, broken logic, and leading questions.
The draft for human review and editing. Users can also request changes through Pollarix's AI assistant and undo those edits.
Once shared, the survey is displayed to respondents by SurveyJS Form Library.
See how Pollarix built this workflow 👇
surveyjs.io/stay-updated/c…
Pollarix then uses SurveyJS to detect errors loading the draft and adds its own checks for problems such as missing answer choices, broken logic, and leading questions.
The draft for human review and editing. Users can also request changes through Pollarix's AI assistant and undo those edits.
Once shared, the survey is displayed to respondents by SurveyJS Form Library.
See how Pollarix built this workflow 👇
surveyjs.io/stay-updated/c…
0
0
2
108
SurveyJS v3.2.3 is out!
In questionPerPage or inputPerPage modes, the progress bar now shows where respondents are in the form — for example, "Question 2 of 5" and 40%. It updates as they move forward or back, and adjusts the total when conditional logic or dynamic content teps.
What counts as a step depends on the mode:
- questionPerPage: Each displayed question or panel is one step. A question containing multiple inputs can still count as a single step.
- inputPerPage: Individual inputs are shown as separate steps. Dynamic questions can also have summary screens, which count as steps.
Try it out👇
Loop and Merge demo: surveyjs.io/form-library/e…
Demo: Multi-Step Form Wizard: surveyjs.io/form-library/e…
This release also brings major performance improvements, Clear button support for more question types, and reorganized row and entry settings in Survey Creator.
Explore all updates:
surveyjs.io/stay-updated/r…
In questionPerPage or inputPerPage modes, the progress bar now shows where respondents are in the form — for example, "Question 2 of 5" and 40%. It updates as they move forward or back, and adjusts the total when conditional logic or dynamic content teps.
What counts as a step depends on the mode:
- questionPerPage: Each displayed question or panel is one step. A question containing multiple inputs can still count as a single step.
- inputPerPage: Individual inputs are shown as separate steps. Dynamic questions can also have summary screens, which count as steps.
Try it out👇
Loop and Merge demo: surveyjs.io/form-library/e…
Demo: Multi-Step Form Wizard: surveyjs.io/form-library/e…
This release also brings major performance improvements, Clear button support for more question types, and reorganized row and entry settings in Survey Creator.
Explore all updates:
surveyjs.io/stay-updated/r…
0
0
2
116
SurveyJS now supports pagination within Multi-Select Matrix, Dynamic Matrix, and Dynamic Panel questions.
Previously, all rows or panels were displayed at once, making long questions difficult to navigate. Now, developers can use the pageSize property to specify how many rows or with navigation controls allowing respondents to move between them.
In Survey Creator, form authors can set the number of rows or panels per page using the Rows per page or Entries per page setting in the Property Grid.
Try it out👇
Paging in Matrices: surveyjs.io/form-library/e…
Paging in Dynamic Panel: surveyjs.io/form-library/e…
Previously, all rows or panels were displayed at once, making long questions difficult to navigate. Now, developers can use the pageSize property to specify how many rows or with navigation controls allowing respondents to move between them.
In Survey Creator, form authors can set the number of rows or panels per page using the Rows per page or Entries per page setting in the Property Grid.
Try it out👇
Paging in Matrices: surveyjs.io/form-library/e…
Paging in Dynamic Panel: surveyjs.io/form-library/e…
0
0
1
69
SurveyJS v3.2.2 improves integration with Bootstrap, Material UI (MUI), and shadcn/ui.
Theme adapter stylesheets already help SurveyJS components match your application's visual design. The new setupThemeAdapter() function takes this a step further. It adjusts default form vey Creator's Property Grid options to better align with the selected design system.
To enable it, import the matching adapter stylesheet and call setupThemeAdapter("bootstrap"), setupThemeAdapter("mui"), or setupThemeAdapter("shadcn") before creating your survey or Survey Creator instance.
Learn more about the new function in the Theme Adapter Guide: surveyjs.io/documentation/…
Theme adapter stylesheets already help SurveyJS components match your application's visual design. The new setupThemeAdapter() function takes this a step further. It adjusts default form vey Creator's Property Grid options to better align with the selected design system.
To enable it, import the matching adapter stylesheet and call setupThemeAdapter("bootstrap"), setupThemeAdapter("mui"), or setupThemeAdapter("shadcn") before creating your survey or Survey Creator instance.
Learn more about the new function in the Theme Adapter Guide: surveyjs.io/documentation/…
0
0
3
178
SurveyJS now tracks dependencies between calculated values and the questions or variables they reference. Previously, changing any survey answer could trigger recalculation of all calculated values. Now, by default, SurveyJS skips unnecessary recalculations.
Imagine you have a
- quantity — number of products ordered
- price — price per product
- customerName — customer's name
- deliveryAddress — delivery address
The form also has a calculated value called total:
{
"calculatedValues": [
{
"name": "total",
"expression": "{quantity} * {price}"
}
]
}
Previously, changing any of the four fields could trigger recalculation of total. Now, SurveyJS recognizes that total depends only on quantity and price.
Changing either of these values triggers recalculation, while changing customerName or deliveryAddress does not.
This reduces unnecessary calculations and can improve performance in complex forms with multiple calculated values.
To restore the previous behavior, set the global calculatedValueTrackDependencies property to false.
Imagine you have a
- quantity — number of products ordered
- price — price per product
- customerName — customer's name
- deliveryAddress — delivery address
The form also has a calculated value called total:
{
"calculatedValues": [
{
"name": "total",
"expression": "{quantity} * {price}"
}
]
}
Previously, changing any of the four fields could trigger recalculation of total. Now, SurveyJS recognizes that total depends only on quantity and price.
Changing either of these values triggers recalculation, while changing customerName or deliveryAddress does not.
This reduces unnecessary calculations and can improve performance in complex forms with multiple calculated values.
To restore the previous behavior, set the global calculatedValueTrackDependencies property to false.
0
0
2
88
SurveyJS Dashboard v3.2.2 lets developers define custom intervals for histograms, instead of relying on automatically generated intervals. This gives you more control over how survey results are presented and makes charts easier to interpret.
For example, you can group er 30, 30-49, 50+), exam scores, or other meaningful categories, with full control over interval boundaries and labels.
For example, you can group er 30, 30-49, 50+), exam scores, or other meaningful categories, with full control over interval boundaries and labels.
1
1
5
99
📌Two Recent Breaking Changes to Be Aware Of
If you're updating to SurveyJS v3.0.4 or later, please note two breaking changes that may affect the appearance of your forms and other SurveyJS components.
Fonts are no longer bundled with SurveyJS
SurveyJS Form Library, Survey no longer include font files in their packages. This reduces package size and gives you more control over how fonts are loaded and hosted.
Advanced survey header is now the default
SurveyJS Form Library now uses the advanced survey header by default, replacing the basic header used in previous versions. This brings the default header appearance in line with the updated SurveyJS design.
Both changes were introduced in v3.0.4. We recommend reviewing them before upgrading, especially if your application relies on the previous default styling.
surveyjs.io/stay-updated/b…
If you're updating to SurveyJS v3.0.4 or later, please note two breaking changes that may affect the appearance of your forms and other SurveyJS components.
Fonts are no longer bundled with SurveyJS
SurveyJS Form Library, Survey no longer include font files in their packages. This reduces package size and gives you more control over how fonts are loaded and hosted.
Advanced survey header is now the default
SurveyJS Form Library now uses the advanced survey header by default, replacing the basic header used in previous versions. This brings the default header appearance in line with the updated SurveyJS design.
Both changes were introduced in v3.0.4. We recommend reviewing them before upgrading, especially if your application relies on the previous default styling.
surveyjs.io/stay-updated/b…
0
0
2
57
SurveyJS retweeted
We added 10 cool features to @SurveyJS
and forked it exactly ZERO times. Every single enhancement was built on SurveyJS’s own extension points. Read all about it in the latest blog post: endatix.com/blog/2026-10-1…
and forked it exactly ZERO times. Every single enhancement was built on SurveyJS’s own extension points. Read all about it in the latest blog post: endatix.com/blog/2026-10-1…
0
3
4
36
New in SurveyJS v3.2.0: AI Tools & Resources
We're making it easier to build, customize, and integrate SurveyJS forms with your AI coding assistants.
Here's what's new:
🔹 SurveyJS MCP Server – Gives AI agents access to up-to-date documentation and API references, helping them genesion-aware code.
🔹 AI Agent Skills – Ready-to-use instructions for common development tasks, from creating and validating survey JSON to customizing Survey Creator, matching forms to your design system, and generating PDFs.
🔹 AI-Ready Documentation – SurveyJS documentation and demos are now available in Markdown, with an llms.txt file to help AI agents discover relevant resources.
💡 Less time explaining SurveyJS to your AI assistant. More time building.
Explore the new AI tools and resources:
surveyjs.io/stay-updated/r…
#SurveyJS #AITools #MCP #AICoding
We're making it easier to build, customize, and integrate SurveyJS forms with your AI coding assistants.
Here's what's new:
🔹 SurveyJS MCP Server – Gives AI agents access to up-to-date documentation and API references, helping them genesion-aware code.
🔹 AI Agent Skills – Ready-to-use instructions for common development tasks, from creating and validating survey JSON to customizing Survey Creator, matching forms to your design system, and generating PDFs.
🔹 AI-Ready Documentation – SurveyJS documentation and demos are now available in Markdown, with an llms.txt file to help AI agents discover relevant resources.
💡 Less time explaining SurveyJS to your AI assistant. More time building.
Explore the new AI tools and resources:
surveyjs.io/stay-updated/r…
#SurveyJS #AITools #MCP #AICoding
1
0
7
254
Multi-user form editing is now available in Survey Creator.
Your team can work on questions, branching logic and translations in the same form at the same time. Changes appear in real time, presence indicators show where collaborators are active, and change history records their CollaborationPlugin captures edits as JSON records and applies incoming updates without sending them back out. Your application provides the connection and server.
Our reference implementation uses a Node.js WebSocket server and includes React, Angular, Vue 3 and vanilla JavaScript clients — all able to join the same room.
Watch the video for a walkthrough, then open the demo in two tabs to try it yourself:
Live demo: …rative-form-editing.demos.surveyjs.io
Source code: github.com/surveyjs/colla…
Documentation: surveyjs.io/survey-creator…
Your team can work on questions, branching logic and translations in the same form at the same time. Changes appear in real time, presence indicators show where collaborators are active, and change history records their CollaborationPlugin captures edits as JSON records and applies incoming updates without sending them back out. Your application provides the connection and server.
Our reference implementation uses a Node.js WebSocket server and includes React, Angular, Vue 3 and vanilla JavaScript clients — all able to join the same room.
Watch the video for a walkthrough, then open the demo in two tabs to try it yourself:
Live demo: …rative-form-editing.demos.surveyjs.io
Source code: github.com/surveyjs/colla…
Documentation: surveyjs.io/survey-creator…
2
0
3
104
If you build with .NET, you can now add SurveyJS to ASP.NET Core and Blazor apps directly through NuGet. The packages include ready-to-use scripts and styles that your app serves itself, so no Node.js, npm or bundler setup is required for the SurveyJS libraries. Version 3.2.0 is live: nuget.org/profiles/Surve…
Bug reports and feature requests are welcome here or on GitHub: github.com/surveyjs/surve…
Bug reports and feature requests are welcome here or on GitHub: github.com/surveyjs/surve…
0
0
2
88
We've put together a demo showing how multiple users can complete the same SurveyJS form at the same time. Each participant joins a room, and changes to individual answers are synchronized across everyone's form and rare recorded in the Changes panel.
The demo uses re edits, Socket.IO to share them, and setValue() to update each participant’s form. Watch the video, or open the demo in two tabs to try it yourself: …rative-form-filling.demos.surveyjs.io
Implementation and source code: github.com/surveyjs/colla…
The demo uses re edits, Socket.IO to share them, and setValue() to update each participant’s form. Watch the video, or open the demo in two tabs to try it yourself: …rative-form-filling.demos.surveyjs.io
Implementation and source code: github.com/surveyjs/colla…
1
0
6
139
A survey JSON schema can load even when its logic is broken. A typo in visibleIf, for example, can leave a question hidden without producing a model validation error.
The SurveyJS Linter helps catch these issues before the form reaches users.
It analyzes survey JSON for misspelled question references, conditions that can never be true, invalid choice comparisons, and cycles in calculated values or triggers. It runs without building a survey model or changing your JSON.
The Linter is available in survey-core 3.0.3 and later. See the example and full documentation:
surveyjs.io/form-library/d…
The SurveyJS Linter helps catch these issues before the form reaches users.
It analyzes survey JSON for misspelled question references, conditions that can never be true, invalid choice comparisons, and cycles in calculated values or triggers. It runs without building a survey model or changing your JSON.
The Linter is available in survey-core 3.0.3 and later. See the example and full documentation:
surveyjs.io/form-library/d…
0
0
7
772
SurveyJS retweeted
🏆 Congratulations to @SurveyJS - Top 100 Publisher in the @ComponentSource #Awards 2026! componentsource.com/news/2026/08/1…
0
1
3
66
SurveyJS v3.0 is here🚀
Our biggest update in more than a year brings major improvements across the SurveyJS product family:
- Shared design tokens across Form Library, Survey Creator, Dashboard, and PDF Generator
- Theme adapters for Bootstrap, Material UI, and shadcn/ui
- A th Chart.js, cross-filtering, date filters, and reusable state-based configuration
- More PDF customization with themes, layout presets, and granular style controls
- UI Preset Editor for configuring the Survey Creator UI and exporting reusable JSON presets
- Server-side rendering for Form Library
We'll be publishing separate posts with a closer look at each major v3.0 improvement soon.
What's new: surveyjs.io/stay-updated/m…
Release notes: surveyjs.io/stay-updated/r…
Our biggest update in more than a year brings major improvements across the SurveyJS product family:
- Shared design tokens across Form Library, Survey Creator, Dashboard, and PDF Generator
- Theme adapters for Bootstrap, Material UI, and shadcn/ui
- A th Chart.js, cross-filtering, date filters, and reusable state-based configuration
- More PDF customization with themes, layout presets, and granular style controls
- UI Preset Editor for configuring the Survey Creator UI and exporting reusable JSON presets
- Server-side rendering for Form Library
We'll be publishing separate posts with a closer look at each major v3.0 improvement soon.
What's new: surveyjs.io/stay-updated/m…
Release notes: surveyjs.io/stay-updated/r…
0
0
6
211












