Favicon of HeyForm

HeyForm

HeyForm is an open source conversational form builder for surveys, quizzes, and polls, with logic, theming, and analytics.

Open Source Alternative to:
HeyForm website screenshot
HeyForm GitHub repository preview

HeyForm is an open source form builder built around conversational, one-question-at-a-time forms rather than traditional grid layouts. It targets small businesses that want to gather information or feedback through surveys, quizzes, and polls, and it's available as a hosted cloud service or a self-hosted deployment. The project is maintained as a monorepo of focused packages rather than one large application, which keeps the embed script, renderer, and server independently versioned. The maintainers describe HeyForm as a two-person team behind the hosted service, and they frame choosing the hosted plan as a way to support continued development of the open source project rather than only as a convenience.

Key features

  • Versatile input types: Text, email, phone, picture choice, date pickers, and file uploads are all supported out of the box.
  • Conditional logic: Build dynamic forms with branching logic and URL redirections based on answers.
  • Visual theming: Customize fonts, colors, and backgrounds to match your brand, with custom CSS for deeper control.
  • Integrations: Connect to webhooks, analytics tools, and automation platforms like Zapier and Make.com.
  • Response analytics: Track drop-off and completion rates to see where respondents abandon a form.
  • CSV export: Export form results for further analysis or to feed into other systems.
  • Embeddable forms: Drop a form into an existing website or product using the embed JavaScript library instead of only linking out to a hosted page.

Self-hosting and deployment

HeyForm can be self-hosted following the installation instructions in its documentation, or deployed with one click to Railway, Zeabur, Sealos, Alibaba Cloud ComputeNest, or RepoCloud. The codebase is organized as packages for the embed script, form renderer, shared types, server, and web app, so self-hosters run the server and webapp packages together while the embed library ships separately for use on external sites. Local development follows a separate set of documented steps for contributors who want to run the full monorepo, including both server and webapp, without deploying to any of the one-click targets.

Tech stack

The stack is TypeScript throughout, split into a Node.js server package and a React web app package, with a separate embeddable JavaScript library for embedding forms on external sites. Form submission utilities are shared between the server and webapp through a dedicated answer-utils package, keeping validation logic consistent on both sides. A shared-types-enums package centralizes type definitions so the server and webapp packages don't drift out of sync as the schema for questions, answers, and form settings evolves. A form-renderer package handles turning that schema into the actual conversational question flow shown to respondents, decoupled from both the editor and the embed script, which lets the rendering logic be reused across the hosted webapp and any embedded instance without duplicating it.

Frequently asked questions

Share:

Stars
8.9K
Forks
688
Last commit
4 days ago
Repository age
2 years
License
AGPL-3.0
Self-hosted
Yes
Activity score
78/100
View Repository
Ad
Favicon

 

  
 

Similar to HeyForm

Favicon

 

  
 
Favicon

 

  
 
Favicon