Open Source Lightweight React JSON Schema Form Library for MUI

Build dynamic, reusable forms from JSON schema with Material UI components — optimized for bundle size, tree-shaking, and developer experience.

npm i @react-form-builder/core @react-form-builder/components-material-ui

Why Choose FormEngine Core with MUI

MUI Components Pack

Production-ready form components built on top of MUI.

Lightweight Bundle

Only 188 KB gzip for Core + MUI (JS + CSS).

No Deep React Knowledge

Build complex forms without React expertise.

Single JSON Form

Entire form defined in one JSON file for structure + UI.

Reuse & Scale Across Projects

Build once, reuse everywhere with a single form engine and no dependency headaches.

Easy Customization, No CSS Pain

Easily adapt field sets and styling without deep CSS or UI work.

Schema-Driven Internationalization

Locale-based labels, placeholders, validation messages, and errors defined directly in the form schema.

MIT Licensed Core

Open-source core, safe for commercial use.

How FormEngine Core fits into your stack

FormEngine Core maps a JSON form definition to a dynamic HTML form and lets you plug in your own UI components — or use the ready-made MUI pack.

1

JSON schema stored (Git / DB / API)

2

Frontend loads schema

3

FormEngine Core renders UI through MUI view

4

Submit data to your backend

FormEngine Core - Smaller Bundle, Faster Apps

FormEngine Core is a lightweight React form library with tree-shaking support for MUI components. At just 188 KB (with MUI), it's significantly smaller than alternatives like SurveyJS (391 KB) and React JSON Schema Form (231 KB). Reduce your bundle size without sacrificing dynamic form capabilities.

Library
RawGzip
FormEngine Core
618.80 KB188.54 KB
FormEngine Core + MUI
React JSON Schema Form
721.54 KB231.62 KB
RJSF + MUI
SurveyJS
1470.00 KB391.72 KB
survey-react + MUI

Bundle sizes are approximate and depend on build config, tree-shaking, and selected features.

Why it matters

  • Better Lighthouse scores
  • Faster route transitions
  • Lower JS cost on mobile

Features built for real-world MUI apps

MUI components pack

Use Material UI components via @react-form-builder/components-material-ui.

UI-agnostic core

Keep the renderer independent from UI. Swap themes when needed.

Reusable JSON schemas

Copy, version, and reuse forms across applications and teams.

Modern stack friendly

Works smoothly with Next.js, Remix, and other React setups.

Multiple themes supported

MUI, shadcn/ui, React Suite, Mantine — with more on the way.

Open-source core + optional drag and drop form builder

Start with the free MIT core and scale to a drag-and-drop workflow when needed.

Quickstart: render your first MUI form in minutes

1

Install core + MUI components pack

2

Load a JSON schema (local file or API)

3

Render with FormViewer and submit to your backend

Installation

Install the package along with FormEngine Core and MUI dependencies:

npm install @react-form-builder/core @mui/material @emotion/react @emotion/styled @react-form-builder/components-material-ui

Basic Usage

Here's an example of how to set up FormEngine with Material UI components:

import { view } from "@react-form-builder/components-material-ui";
import type { FormViewerProps } from "@react-form-builder/core";
import { FormViewer } from "@react-form-builder/core";

const json = {
  errorType: 'MuiErrorWrapper',
  form: {
    key: "Screen",
    type: "Screen",
    children: [
      {
        key: "firstName",
        type: "MuiTextField",
        props: {
          label: { value: "First Name" },
          helperText: { value: "Enter your first name" },
        },
        schema: {
          validations: [
            {
              key: "required",
            },
          ],
        },
      },
      {
        key: "lastName",
        type: "MuiTextField",
        props: {
          label: { value: "Last Name" },
          helperText: { value: "Enter your last name" },
        },
        schema: {
          validations: [
            {
              key: "required",
            },
          ],
        },
      },
      {
        key: "submit",
        type: "MuiButton",
        props: {
          children: { value: "Submit" },
          variant: { value: "contained" },
          color: { value: "primary" },
        },
        events: {
          onClick: [
            {
              name: "validate",
              type: "common",
              args: {
                failOnError: true,
              },
            },
            {
              name: "onSubmit",
              type: "custom",
            },
          ],
        },
      },
    ],
  },
};

const MuiExample = () => {
  const getForm = () => JSON.stringify(json);

  const actions: FormViewerProps["actions"] = {
    onSubmit: (e) => {
      // submit the form to the backend
      alert("Form data: " + JSON.stringify(e.data));
    },
  };

  return <FormViewer view={view} getForm={getForm} actions={actions} />;
};

Built for API-driven products and internal tools

Admin panels & back-office forms

Onboarding flows

B2B configuration forms

Surveys & questionnaires

Internal tooling

Multi-tenant schema-driven UI

FAQ

Is FormEngine Core open source?

Yes. The core library is MIT-licensed, which is suitable for commercial use.

Can I store form schemas in a database and deliver them via API?

Yes — the JSON schema can be loaded from any source (file, DB, CMS, API) and rendered in the client.

How small is the bundle?

The repository provides a benchmark example: ~188.54 KB gzip for FormEngine Core (JS + CSS).

How do I use it with MUI?

Install @react-form-builder/components-material-ui and render forms with FormViewer using the provided MUI view.

Does it work with Next.js / Remix?

Yes — it's designed to work smoothly with modern React stacks, including Next.js and Remix.

Can I use my own MUI-based components?

Yes — the core is designed to render using your components; the MUI pack is a ready-made option.

Do I need a visual drag-and-drop builder?

No. You can render and manage forms purely from JSON. A visual builder can be added later if your workflow needs it.

What UI themes are supported?

MUI, shadcn/ui, React Suite, Mantine are listed as supported themes, with more coming soon.

Ready to build schema-driven MUI forms?

Start with the MIT-licensed core, render your first form, and keep your UI consistent with Material UI.