A modern, visual tool for creating JSON Schema and UI Schema configurations for forms. Built with React, TypeScript, and Material-UI, this application provides an intuitive interface for building form schemas without writing code.
- Visual Form Builder: Click-to-add interface for creating form fields
 - Multiple Field Types: Support for text, number, boolean, select, and textarea fields
 - Real-time Preview: Live preview of your form as you build it
 - Schema Export: Generate both JSON Schema and UI Schema
 - Field Validation: Built-in validation with configurable rules
 - Field Reordering: Move fields up and down to organize form structure
 - Schema Management: Copy to clipboard or download as JSON files
 - Grid Layout Customization: Arrange fields in a responsive grid, with options to define fields width.
 
- Node.js 18+
 - npm, yarn, or pnpm
 
- Clone the repository:
 
git clone https://github.com/M3MONs/json-form-schema-generator.git
cd json-form-schema-generator- Install dependencies:
 
npm install
# or
yarn install
# or
pnpm install- Start the development server:
 
npm run dev
# or
yarn dev
# or
pnpm dev- Open your browser and navigate to 
http://localhost:5173 
- Frontend Framework: React 19.1+
 - Language: TypeScript 5.8+
 - Build Tool: Vite 7.1+
 - UI Library: Material-UI (MUI) 7.3+
 - Form Library: React JSON Schema Form (RJSF) 6.0+
 - Validation: AJV JSON Schema Validator
 - Styling: Emotion (CSS-in-JS)
 
- Add Fields: Click on field type buttons to add fields to your form
 - Reorder Fields: Use the up/down arrow buttons to reorder fields
 - Configure Fields: Select a field to edit its properties in the right panel
 - Set Validation: Configure validation rules, required fields, and constraints
 - Preview: View your form in real-time in the center panel
 - Export: Copy or download the generated JSON Schema and UI Schema
 
- Text: Single-line text input with placeholder and validation
 - Textarea: Multi-line text input with configurable rows
 - Number: Numeric input with min/max validation
 - Boolean: Checkbox or radio button for true/false values
 - Select: Dropdown with custom options
 
- Basic Properties: Name, title, description, placeholder
 - Validation: Required field, min/max values, custom patterns
 - UI Options: Widget type, inline display, disabled state
 - Help Text: Additional guidance for users
 
The application generates two types of schemas:
Standard JSON Schema for form validation and structure:
{
  "type": "object",
  "properties": {
    "email": {
      "type": "string",
      "title": "Email Address",
      "format": "email"
    }
  },
  "required": ["email"]
}UI-specific configuration for form rendering:
{
  "email": {
    "ui:placeholder": "Enter your email address",
    "ui:help": "We'll never share your email"
  }
}npm run dev      # Start development server
npm run build    # Build for production
npm run preview  # Preview production build
npm run lint     # Run ESLintnpm run buildThe built files will be in the dist/ directory, ready for deployment.
This project is licensed under the MIT License - see the LICENSE file for details.
- React JSON Schema Form for the form rendering engine
 - Material-UI for the beautiful component library
 - Vite for the lightning-fast build tool
 
Made by M3MONs