javahuang/SurveyKing

One command to deploy a more powerful, self‑hosted alternative to SurveyMonkey.

Java

4,026

385 commits

updated Aug 26, 2026

See the code

README

SurveyKing

SurveyKing

Open-source surveys, exams, and question-bank practice—self-hosted on your infrastructure

Create forms with AI, run automatically graded exams, help learners practice from question banks, and analyze every response in one platform.

GitHub stars GitHub forks Version 1.13.0 MIT License Docker pulls

Website · Live Demo · Documentation · Deployment

English · 简体中文 · 繁體中文 · 日本語 · 한국어 · Deutsch · Français · ไทย

Own the workflow and the data. SurveyKing brings content creation, publishing, responses, grading, practice, analytics, users, and permissions into one deployable system. Start with the embedded H2 database, then move to MySQL when you are ready for production.

Get running in a minute

Start SurveyKing with Docker and the built-in H2 database:

docker run -d \
  --name surveyking \
  -p 1991:1991 \
  surveyking/surveyking:latest

Open http://localhost:1991 and sign in:

  • Username: admin
  • Password: 123456
  • Change the default password immediately. The new password must be 8–16 characters and contain uppercase letters, lowercase letters, and digits.

One platform, three workflows

SurveysExamsQuestion-bank practice
Build responsive forms with 20+ question types, conditional logic, themes, and publishing controlsReuse question banks, configure answers and scores, randomize content, and grade submissions automaticallyOffer sequential, random, and incorrect-answer practice with progress tracking on desktop and mobile
Create with AI, Excel, plain text, templates, or the visual editorAnalyze scores, answers, rankings, and question-level performanceAdd answer explanations, favorites, notes, question flags, and AI-assisted explanations

Product tour

The survey and exam editor screenshots are localized in English. The remaining product screenshots currently show the Simplified Chinese interface. SurveyKing's interface can be switched between English, Simplified Chinese, Traditional Chinese, Japanese, Korean, German, French, and Thai.

Surveys and response analytics

Design surveys visually, preview them on mobile, publish a respondent-friendly form, and turn collected responses into live reports.

Survey editor
Visual editor
Mobile survey preview
Mobile preview
Respondent-facing survey
Respondent experience
Survey analytics
Response analytics

Exams and automatic grading

Build exams from reusable question banks, define scoring rules and explanations, randomize questions or options, and review automatically calculated results.

Exam editor
Exam editor
Mobile exam preview
Mobile preview
Candidate-facing exam
Candidate experience
Exam results
Scores and results

Practice on desktop and mobile

Use the same question bank for formal exams and self-directed learning. Learners get instant grading, answer comparison, explanations, favorites, notes, progress, and an incorrect-answer workflow.

Question practice on desktop Question practice on mobile

AI-assisted creation

Describe the survey or exam you need in natural language. SurveyKing streams the generated structure into a live preview so you can review it before creating the project.

AI-assisted survey and exam creation

What you can build

AreaCapabilities
SurveysSingle and multiple choice, dropdowns, cascading choices, text input, matrices, NPS, ratings, signatures, file uploads, QR codes, locations, and more
LogicConditional visibility, branching, calculations, text replacement, validation, dynamic required fields, and automatic option selection
PublishingPasswords, allowlists, login requirements, schedules, response limits, public result lookup, and WeChat-based responses
ExamsQuestion banks, bulk import, reusable questions, random selection, answer keys, scoring rules, automatic grading, rankings, and result analysis
PracticeSequential, random, and incorrect-answer practice; answer cards; flags; favorites; notes; progress; and AI-assisted explanations
DataResponse editing, search, filters, imports, exports, printing, attachment downloads, and real-time reports
AdministrationUsers, roles, departments, positions, organizations, collaboration, and role-based access control (RBAC)

AI, integrations, and languages

  • Connect OpenAI-compatible APIs and configure available and default models.
  • Generate surveys and exams through streaming AI output with a live preview.
  • Use Google OAuth, WeChat Open Platform QR login, WeChat Official Account authorization, and account linking.
  • Configure Amap for location questions and use built-in H2 or an external MySQL database.
  • Switch the application interface among English, Simplified Chinese, Traditional Chinese, Japanese, Korean, German, French, and Thai.

Deployment options

OptionBest forEntry point
Docker + H2Evaluation and small self-hosted deploymentssurveyking/surveyking:latest
Docker + MySQLProduction deployments with an external databaseDeployment guide
Windows packageA quick start without container toolingDeployment guide
Nginx, BaoTa, or EazyDevelopManaged or region-specific deployment workflowsAll deployment options

If Docker Hub is slow in your region, a mirror is available from Alibaba Cloud:

docker run -d \
  --name surveyking \
  -p 1991:1991 \
  registry.cn-hangzhou.aliyuncs.com/surveyking/surveyking:latest

Technology

LayerTechnology
FrontendReact, Ant Design, responsive web UI
BackendJava, Spring Boot 2.7, Spring Security, MyBatis-Plus
DatabasesH2, MySQL
DeploymentDocker, Windows, Nginx, BaoTa, EazyDevelop

Documentation and community

Issues and pull requests are welcome. If SurveyKing helps your team, consider starring the repository and sharing how you use it.

Regional resources

License

SurveyKing is open-source software released under the MIT License.

java
react-survey
springboot
survey
surveyjs
surveymonkey

javahuang/SurveyKing

One command to deploy a more powerful, self‑hosted alternative to SurveyMonkey.

Java

4,026

385 commits

updated Aug 26, 2026

See the code

README

SurveyKing

SurveyKing

Open-source surveys, exams, and question-bank practice—self-hosted on your infrastructure

Create forms with AI, run automatically graded exams, help learners practice from question banks, and analyze every response in one platform.

GitHub stars GitHub forks Version 1.13.0 MIT License Docker pulls

Website · Live Demo · Documentation · Deployment

English · 简体中文 · 繁體中文 · 日本語 · 한국어 · Deutsch · Français · ไทย

Own the workflow and the data. SurveyKing brings content creation, publishing, responses, grading, practice, analytics, users, and permissions into one deployable system. Start with the embedded H2 database, then move to MySQL when you are ready for production.

Get running in a minute

Start SurveyKing with Docker and the built-in H2 database:

docker run -d \
  --name surveyking \
  -p 1991:1991 \
  surveyking/surveyking:latest

Open http://localhost:1991 and sign in:

  • Username: admin
  • Password: 123456
  • Change the default password immediately. The new password must be 8–16 characters and contain uppercase letters, lowercase letters, and digits.

One platform, three workflows

SurveysExamsQuestion-bank practice
Build responsive forms with 20+ question types, conditional logic, themes, and publishing controlsReuse question banks, configure answers and scores, randomize content, and grade submissions automaticallyOffer sequential, random, and incorrect-answer practice with progress tracking on desktop and mobile
Create with AI, Excel, plain text, templates, or the visual editorAnalyze scores, answers, rankings, and question-level performanceAdd answer explanations, favorites, notes, question flags, and AI-assisted explanations

Product tour

The survey and exam editor screenshots are localized in English. The remaining product screenshots currently show the Simplified Chinese interface. SurveyKing's interface can be switched between English, Simplified Chinese, Traditional Chinese, Japanese, Korean, German, French, and Thai.

Surveys and response analytics

Design surveys visually, preview them on mobile, publish a respondent-friendly form, and turn collected responses into live reports.

Survey editor
Visual editor
Mobile survey preview
Mobile preview
Respondent-facing survey
Respondent experience
Survey analytics
Response analytics

Exams and automatic grading

Build exams from reusable question banks, define scoring rules and explanations, randomize questions or options, and review automatically calculated results.

Exam editor
Exam editor
Mobile exam preview
Mobile preview
Candidate-facing exam
Candidate experience
Exam results
Scores and results

Practice on desktop and mobile

Use the same question bank for formal exams and self-directed learning. Learners get instant grading, answer comparison, explanations, favorites, notes, progress, and an incorrect-answer workflow.

Question practice on desktop Question practice on mobile

AI-assisted creation

Describe the survey or exam you need in natural language. SurveyKing streams the generated structure into a live preview so you can review it before creating the project.

AI-assisted survey and exam creation

What you can build

AreaCapabilities
SurveysSingle and multiple choice, dropdowns, cascading choices, text input, matrices, NPS, ratings, signatures, file uploads, QR codes, locations, and more
LogicConditional visibility, branching, calculations, text replacement, validation, dynamic required fields, and automatic option selection
PublishingPasswords, allowlists, login requirements, schedules, response limits, public result lookup, and WeChat-based responses
ExamsQuestion banks, bulk import, reusable questions, random selection, answer keys, scoring rules, automatic grading, rankings, and result analysis
PracticeSequential, random, and incorrect-answer practice; answer cards; flags; favorites; notes; progress; and AI-assisted explanations
DataResponse editing, search, filters, imports, exports, printing, attachment downloads, and real-time reports
AdministrationUsers, roles, departments, positions, organizations, collaboration, and role-based access control (RBAC)

AI, integrations, and languages

  • Connect OpenAI-compatible APIs and configure available and default models.
  • Generate surveys and exams through streaming AI output with a live preview.
  • Use Google OAuth, WeChat Open Platform QR login, WeChat Official Account authorization, and account linking.
  • Configure Amap for location questions and use built-in H2 or an external MySQL database.
  • Switch the application interface among English, Simplified Chinese, Traditional Chinese, Japanese, Korean, German, French, and Thai.

Deployment options

OptionBest forEntry point
Docker + H2Evaluation and small self-hosted deploymentssurveyking/surveyking:latest
Docker + MySQLProduction deployments with an external databaseDeployment guide
Windows packageA quick start without container toolingDeployment guide
Nginx, BaoTa, or EazyDevelopManaged or region-specific deployment workflowsAll deployment options

If Docker Hub is slow in your region, a mirror is available from Alibaba Cloud:

docker run -d \
  --name surveyking \
  -p 1991:1991 \
  registry.cn-hangzhou.aliyuncs.com/surveyking/surveyking:latest

Technology

LayerTechnology
FrontendReact, Ant Design, responsive web UI
BackendJava, Spring Boot 2.7, Spring Security, MyBatis-Plus
DatabasesH2, MySQL
DeploymentDocker, Windows, Nginx, BaoTa, EazyDevelop

Documentation and community

Issues and pull requests are welcome. If SurveyKing helps your team, consider starring the repository and sharing how you use it.

Regional resources

License

SurveyKing is open-source software released under the MIT License.

java
react-survey
springboot
survey
surveyjs
surveymonkey

Significant stargazers

aofall

53 followers · starred Feb 2023

BingZ

9 followers · starred Aug 2023

atzcl

61 followers · starred Aug 2023