@rjsf/core

The React engine that turns a JSON Schema into a fully working form

Library
npm
v6.8.0
15,869stars
Apache License 2.0

Repository Health

Pre-computed score based on development activity, maintenance, community, maturity, and trend momentum.How we score it →
93/100Excellent
Development Activity100
Maintenance96
Community76
Maturity60
Momentum40

Technical Analysis

AI-assessed by reading the actual repository — architecture, code quality, innovation, and documentation.How we score it →
81/100Excellent
Architecture85
Code Quality88
Innovation82
Learning Curve70

@rjsf/core is the base engine of react-jsonschema-form (RJSF), a React component that generates complete, validated web forms directly from a JSON Schema definition rather than hand-written JSX. It resolves the schema into fields, widgets, and layout templates at render time, wiring in validation, conditional logic (if/then/else, oneOf/anyOf), and array/object nesting automatically.

Rather than shipping its own visual style, @rjsf/core exposes a themeable registry that every other RJSF package — @rjsf/mui, @rjsf/antd, @rjsf/chakra-ui, @rjsf/shadcn, and more — builds on top of, along with @rjsf/utils for shared schema-resolution helpers and @rjsf/validator-ajv8 for AJV-based validation. It’s the common core the whole rjsf-team monorepo is organized around.

What You Get

  • A Form component that renders inputs, selects, checkboxes, arrays, and nested objects directly from a JSON Schema, with no manual JSX per field
  • A themeable registry (getDefaultRegistry, withTheme) that lets UI-kit packages like @rjsf/mui or @rjsf/antd swap in their own fields/widgets/templates
  • Support for JSON Schema conditionals (if/then/else, oneOf, anyOf, allOf) and array/object nesting resolved automatically at render time
  • A pluggable validator interface, most commonly filled by the companion @rjsf/validator-ajv8 package for AJV-based schema validation

Common Use Cases

  • Generating admin/back-office CRUD forms directly from an API’s JSON Schema without hand-writing each field
  • Building dynamic, schema-driven settings or configuration UIs that change shape as the underlying schema evolves
  • Rendering multi-step or conditional forms where field visibility depends on other field values (if/then/else)
  • Providing a consistent form-generation layer across multiple design systems by swapping the theme package while keeping the same schema

Under The Hood

Architecture@rjsf/core’s Form component (packages/core/src/components/Form.tsx) is the orchestration layer: on each render it walks the JSON Schema, resolves $refs and combinators (allOf/anyOf/oneOf), and looks up the field/widget/template to use for each schema node from a registry object (built by getDefaultRegistry). The withTheme higher-order component is how theme packages (MUI, Ant Design, Chakra, shadcn, etc.) inject their own field/widget/template implementations without forking the core resolution logic — the theme only supplies UI primitives, while @rjsf/core supplies the schema-to-component mapping.

Tech Stack — TypeScript throughout (97.8% of the repo), built with esbuild for CJS/ESM bundles and Rollup for a UMD build, inside a pnpm-workspace monorepo shared with all theme packages. Actual JSON Schema validation is delegated to a pluggable validator interface rather than being baked into core — @rjsf/validator-ajv8 (AJV) is the reference implementation the monorepo ships and tests against.

Code Quality — Extensive Vitest test suite under packages/core/test/, with dedicated files per schema feature (allOf.test.tsx, anyOf.test.tsx, ArrayField.test.tsx, const.test.tsx, etc.) plus snapshot tests, giving very granular coverage of JSON Schema edge cases. Linting runs through oxlint/oxfmt, and lint-staged enforces formatting on commit; the monorepo’s 100+ tagged releases and steady commit cadence (30+ commits/month) reflect an actively maintained codebase.

API Design — The public API is intentionally minimal — a Form component taking schema, uiSchema, and validator props — which keeps the barrier to a working form very low, while withTheme/getDefaultRegistry give theme authors a clean, documented extension point instead of requiring a fork. The trade-off is that JSON Schema and UI Schema syntax themselves carry a learning curve, since the correctness of a form now depends on schema authoring rather than JSX.

Used by 10 apps in this directory

TypeScript
72%
AGPL 3.0

APITable

Low Code Platforms · Databases

15,526

API-first collaborative spreadsheet-database platform that auto-generates REST APIs and lets teams build internal tools, CRMs, and dashboards without code.

View details
53
Repo Health
77
Technical
60
Dependency
Built with
TypeScript72%
Java22%
Updated 9 months ago
Rust
86%
Other

Arroyo

Data Engineering · Analytics

5,005

A distributed stream processing engine written in Rust that lets you write SQL to run stateful, real-time computations over data streams with subsecond results.

View details
86
Repo Health
74
Technical
62
Dependency
Built with
Rust86%
Updated 1 weeks ago
Python
68%
Other

AutoGPT

Automation · Productivity · AI Assistants

186,687

Build, deploy, and run autonomous AI agents that automate complex multi-step workflows using a visual block-based graph editor.

View details
93
Repo Health
78
Technical
67
Dependency
Built with
Python68%
TypeScript31%
Updated today
TypeScript
98%
Other

Hexabot

AI Development · Automation

1,186

Build and run agentic workflows across channels with YAML, tools, and RAG

View details
79
Repo Health
76
Technical
70
Dependency
Built with
TypeScript98%
Updated yesterday
TypeScript
100%
Apache 2.0

ILLA Builder

Developer Tools · Low Code Platforms · No Code Platforms

12,311

Open-source low-code platform for building internal tools with drag-and-drop UI, reactive data bindings, and real-time collaboration.

View details
58
Repo Health
71
Technical
65
Dependency
Built with
TypeScript100%
Updated 2 months ago
TypeScript
56%
MIT

Jitsu

Data Engineering

5,035

Open-source, fully-scriptable data ingestion engine that streams events from web, apps, and APIs to any data warehouse in real time.

View details
89
Repo Health
79
Technical
68
Dependency
Built with
TypeScript56%
Go41%
Updated today
TypeScript
88%
MIT

Mistle

AI Agents · Developer Tools

89

Self-hostable platform for running autonomous coding agents in isolated, credentialless sandboxes with brokered credentials, reusable snapshots, and event-driven triggers.

View details
71
Repo Health
76
Technical
71
Dependency
Built with
TypeScript88%
Rust11%
Updated 1 months ago
TypeScript
98%
Other

Novu

Developer Tools

39,615

Open-source communication infrastructure that connects your products and AI agents to every channel your users live on — Inbox, Email, SMS, Push, Chat, and more.

View details
93
Repo Health
80
Technical
65
Dependency
Built with
TypeScript98%
Updated today
TypeScript
96%
Other

Refly

No Code Platforms · AI Development · Automation

7,490

Build deterministic, versioned agent skills from natural language—run them anywhere from Claude Code to Slack.

View details
66
Repo Health
76
Technical
64
Dependency
Built with
TypeScript96%
Updated 3 weeks ago

Join founders buildingwith open source

Opinionated takes, migration guides, cost-saving tips, and insights from the open source ecosystem.

Subscribe on Substack
Join 750+ subscribers

Search