Skip to main content
FormEngine for SaaS teams that need to give customers a form authoring interface inside their product — without building a form builder from scratch. Last reviewed: April 2026.

The pattern

SaaS products often reach a point where customers want to customize their own forms: intake forms, onboarding surveys, order forms, booking requests. Building a form editor yourself takes months. FormEngine Designer is a pre-built, embeddable visual form builder designed to be dropped into an existing React app. The typical setup has two parts:
  1. Designer — embedded in your app’s admin or settings area. Your customers drag, drop, and configure their forms.
  2. Core — embedded wherever forms are rendered. Reads the JSON schema saved by the Designer and renders the live form.
Forms are stored as JSON blobs. You own the storage — your database, your S3 bucket, your API. FormEngine doesn’t have its own backend.

Start path

Key capabilities for SaaS use cases

Multi-tenant form storage — the Designer serializes each form to a JSON string on save. Store that string per customer (tenant) in your database. No FormEngine-managed backend involved. Custom component library — if your product has its own design system, you can register custom components in the Designer so customers build with your components, not generic ones. See Designer custom components. Presets and templates — create form templates that customers can start from. See Designer presets. Conditional logic and validation — customers can configure renderWhen conditions, required fields, and validation rules through the Designer UI — no code required on their end. Localization — if you’re targeting multiple markets, the Designer supports UI localization. See Designer localization.

Implementation sequence

  1. Install Designer and confirm the embed renders in your app: Designer installation
  2. Wire the onSave callback to your form storage API: Designer usage
  3. Style the Designer to match your product brand: Designer styling
  4. Set up Core rendering on the customer-facing side: Rendering forms
  5. (Optional) Register your design system’s components: Designer custom components
  6. Manage the Designer license for production: Designer license

Licensing

FormEngine Core is MIT-licensed and free. FormEngine Designer requires a commercial license for production use. Pricing is per-deployment, not per end-user — a SaaS product with thousands of customers needs one license for the deployment, not one per customer. See the pricing page for current terms.

Decision FAQ

Do customers need to know FormEngine is involved?

No. The Designer is embeddable and styleable to match your product’s brand. Customers see your UI, your component palette, and your design system. See Designer styling and Designer customization.

How is form data scoped per customer?

That’s your responsibility — FormEngine doesn’t manage tenancy. You load the Designer with a customer’s saved schema on mount and save the output JSON back to that customer’s record on onSave. A typical pattern stores schemas as a jsonb column per customer row.

Can we restrict what components customers can use?

Yes. You configure the component palette in your Designer instance. If you only want customers to use your design system’s components, register only those — leave out everything else.

Can customers embed forms they build on other pages?

That’s your rendering layer. You render their saved JSON schema using FormEngine Core wherever it needs to appear — a customer portal, a landing page, an iframe. Core is MIT so there’s no licensing concern on the render side.

What happens if we need a component the Designer doesn’t have?

Build it. FormEngine supports custom components that register into the Designer palette and the Core renderer. The custom component is a standard React component with a FormEngine descriptor.

See also

Last modified on April 16, 2026