Quickstart
Get started with JSON Forms in minutes. This guide will walk you through creating your first form from installation to a working example.What you’ll build
A simple task management form with:- Text input for task name
- Checkbox for completion status
- Date picker for due date
- Dropdown for recurrence options
Prerequisites
- Node.js 22+ installed
- Basic knowledge of React, Angular, or Vue
- A package manager (npm, yarn, or pnpm)
- React
- Angular
- Vue
React Setup
Install dependencies
Install JSON Forms Core, React bindings, and Material renderers:Install Material-UI peer dependencies:
Create your JSON Schema
Define the structure and validation rules for your data:
The schema uses JSON Schema standard. The
type defines data types, minLength adds validation, and required marks mandatory fields.Create your UI Schema (optional)
Customize the layout of your form:
The UI Schema is optional. Without it, JSON Forms will automatically generate a layout based on your JSON Schema.
Understanding the code
TheJsonForms component requires:- schema - Defines the data structure and validation
- uischema - (Optional) Customizes the form layout
- data - Current form data
- renderers - Set of UI components to render controls
- cells - Table cell renderers for array layouts
- onChange - Callback when data changes
View complete working example
View complete working example
Understanding the schemas
JSON Schema
The JSON Schema defines your data model:string- Text inputnumber/integer- Numeric inputboolean- Checkboxarray- List of itemsobject- Nested object
date- Date pickertime- Time pickerdate-time- Date and time pickeremail- Email input with validationuri- URL input
UI Schema
The UI Schema controls layout and appearance:VerticalLayout- Stack elements verticallyHorizontalLayout- Stack elements horizontallyGroup- Grouped section with optional labelCategorization- Tabbed interface
Next steps
Congratulations! You’ve created your first JSON Form. Here’s what to explore next:Core Concepts
Learn about JSON Schema, UI Schema, and renderers
Custom Renderers
Create custom form controls for specific needs
Validation
Add custom validation rules and error messages
Examples
Explore more complex form examples
Common patterns
Handling form submission
Accessing validation errors
Pre-filling form data
Troubleshooting
Form fields not rendering
Form fields not rendering
Make sure you’ve installed all peer dependencies for your chosen renderer set. Check the installation guide for the complete list.
Validation not working
Validation not working
JSON Forms uses AJV for validation. Ensure your JSON Schema is valid and uses standard JSON Schema keywords. Custom formats may require additional AJV configuration.
TypeScript errors with renderers
TypeScript errors with renderers
Ensure all JSON Forms packages are using the same version. Mismatched versions can cause type conflicts.
Styling issues with Material renderers
Styling issues with Material renderers
Make sure you’ve imported the required styles and configured the theme provider for your UI library (Material-UI, Vuetify, etc.).
Get help
If you encounter issues or have questions:- Check the GitHub Issues for known problems
- Ask on the JSON Forms Discourse
- Review the API documentation
- Explore the example repository