OpnForm is an open-source form builder designed for developers and businesses seeking full control over their form data while avoiding proprietary SaaS limitations. Built with Laravel for the backend and Nuxt.js for the frontend, it provides a no-code interface to create complex forms with file uploads, conditional logic, captcha protection, and analytics. Unlike hosted form tools, OpnForm allows full data ownership and can be self-hosted using Docker or deployed on your infrastructure. The project uses a dual-license model: the core is AGPLv3-licensed, enabling free use and modification, while advanced enterprise features are available under a proprietary license to sustain development.
OpnForm is ideal for teams needing customizable form solutions — from marketing campaigns and customer feedback surveys to internal data collection workflows — without relying on third-party platforms. Its modular architecture supports embedding forms anywhere via JavaScript snippets, and its API-first design enables integration with existing systems.
What You Get
- No-code form builder - Create unlimited forms with drag-and-drop fields including text, date, URL, file uploads, checkboxes, radio buttons, and more — no programming required.
- Embed anywhere - Generate a JavaScript snippet to embed forms directly into websites, blogs, or web apps without iframes.
- Email notifications - Configure automated email alerts to be sent when form submissions are received, with customizable templates.
- Integrations (Slack, Webhooks, Discord) - Push form submissions to external services via webhooks or directly to Slack and Discord channels.
- Form logic & customization - Apply conditional rules (show/hide fields based on user input) and customize form styling to match your brand.
- Captcha protection - Built-in CAPTCHA to prevent spam submissions without requiring third-party services.
- Form analytics - View submission counts, completion rates, and real-time data insights directly in the dashboard.
- Docker-based self-hosting - Deploy OpnForm using Docker Compose with a single command, including PostgreSQL and Redis dependencies.
Common Use Cases
- Building a customer feedback portal - A SaaS company uses OpnForm to collect user feedback via embedded forms on their app dashboard, with submissions sent to Slack and stored securely in their own database.
- Creating a multi-page registration form for events - An organization builds a 10-field registration form with file uploads (e.g., ID documents) and conditional logic to show/hide fields based on attendee type, then embeds it on their WordPress site.
- Problem: Vendor lock-in with form tools → Solution: Self-hosted OpnForm - A team tired of data limits and pricing hikes from Typeform or JotForm migrates to OpnForm, retaining full ownership of submission data and integrating with their existing CRM via webhooks.
- Team: Marketing & DevOps managing high-volume campaigns - A marketing team designs 50+ campaign forms with analytics, while DevOps deploys OpnForm via Docker on a private server to ensure compliance and reduce monthly SaaS costs.
Under The Hood
OpnForm is a modern form management platform designed with enterprise-grade features, emphasizing extensibility, identity integration, and multi-tenant support. It combines traditional form-building capabilities with advanced SSO and telemetry functionalities to cater to SaaS and enterprise deployments.
Architecture
The system adopts a monolithic architecture with well-defined modules and layered structure, promoting separation of concerns through distinct domains such as authentication, storage, and integration services. It leverages command-based patterns and service-oriented design to encapsulate business logic.
- Clear module organization with distinct layers for API, commands, and policies
- Extensive use of strategy and factory patterns for handling OAuth providers and storage
- Strong emphasis on separation of concerns through domain-driven design principles
Tech Stack
The platform is built using a dual-language stack with PHP and Vue.js, reflecting a contemporary web application architecture. It integrates modern tools for development, deployment, and testing across both backend and frontend components.
- Built with PHP and Laravel for the backend API and business logic
- Frontend developed using Vue.js with TypeScript and Pinia for state management
- Employs Vite, Laravel Vapor, and Docker to support modern deployment workflows
- Comprehensive testing ecosystem using PHPUnit, Vitest, and Laravel’s built-in testing utilities
Code Quality
The codebase reflects a mixed quality profile, with structured testing practices and some consistency in implementation. While efforts are made to ensure test coverage and maintain code style, technical debt and inconsistent error handling remain notable areas for improvement.
- Extensive use of testing frameworks with a focus on unit and integration tests
- Varied levels of error handling across modules, indicating inconsistent patterns
- Code linting and type safety are implemented to improve maintainability
- Some areas show evidence of technical debt, particularly in core logic file analysis
What Makes It Unique
OpnForm distinguishes itself through its enterprise-first approach, offering OIDC-based authentication and modular extensibility that sets it apart from generic form builders. Its architecture supports SaaS-native features and seamless customization.
- OIDC-first authentication model enables deep integration with enterprise identity providers like Azure AD and Okta
- Event-driven architecture allows for extensible business logic without modifying core components
- Built-in telemetry and subscription billing hooks provide out-of-the-box SaaS capabilities
- CLI tools and command-based admin interfaces simplify deployment and maintenance tasks