Turns JSON specifications into live React component trees with full type safety via Zod schemas and TypeScript. You define a catalog of components with their prop schemas, then feed it JSON specs that get rendered as actual React elements. Handles two-way data binding through `$bindState` expressions, conditional visibility, state management via JSON Pointers, and an event system that maps component events to actions. The controlled mode lets you plug in external stores like Redux or Zustand. Honestly most useful when you're building tools that generate UIs programmatically or need to let non-developers configure interfaces through JSON. The developer experience is solid once you understand the binding model, though the mix of declarative JSON and imperative React can feel odd at first.

skills.sh installs
18.5K
GitHub stars
19.5K
last updated
Aug 21, 2026

Install

$ npx -y skills add vercel-labs/json-render --skill react --agent claude-code

Installs into .claude/skills of the current project.

Files

@json-render/react

React renderer that converts JSON specs into React component trees.

Quick Start

import { defineRegistry, Renderer } from "@json-render/react";
import { catalog } from "./catalog";

const { registry } = defineRegistry(catalog, {
  components: {
    Card: ({ props, children }) => <div>{props.title}{children}</div>,
  },
});

function App({ spec }) {
  return <Renderer spec={spec} registry={registry} />;
}

Creating a Catalog

import { defineCatalog } from "@json-render/core";
import { schema } from "@json-render/react/schema";
import { defineRegistry } from "@json-render/react";
import { z } from "zod";

Sponsors

Details

Repository
github.com/vercel-labs/json-render
Categories
Frontend Development, AI & Agent Building, Cloud & Infrastructure
First seen
May 16, 2026

More from vercel-labs/json-render

All 31
1clerk avatarclerk-react-router-patternsclerk/skillsReact Router v7/v8 patterns with Clerk — rootAuthLoader, getAuth in loaders, clerkMiddleware, protected routes, SSR user data, org switching. Triggers on: react16.1Kskills.sh installs
2vuejs-ai avatarvue-testing-best-practicesvuejs-ai/skillsUse for Vue.js testing. Covers Vitest, Vue Test Utils, component testing, mocking, testing patterns, and Playwright for E2E testing.14.8Kskills.sh installs
3ceorkm avatarmobile-app-ui-designceorkm/mobile-app-ui-designDesign high-quality mobile app UI/UX screens, flows, and components. Use this skill whenever the user asks to design a mobile app screen, create app mockups, bu12.7Kskills.sh installs
4sveltejs avatarsvelte-core-bestpracticessveltejs/ai-toolsGuidance on writing fast, robust, modern Svelte code. Load this skill whenever in a Svelte project and asked to write/edit or analyze a Svelte component or modu12.1Kskills.sh installs
5rivet-dev avatarrivetkit-client-reactrivet-dev/skillsRivetKit React client guidance. Use for React apps that connect to Rivet Actors with @rivetkit/react, create hooks with createRivetKit, or manage realtime state7.5Kskills.sh installs
6samber avatarfrontend-design-deslopsamber/cc-skillsProduce distinctive, non-generic UI and design applications well, working strategy-first. Identify the project (landing page, SaaS app, dashboard, ecommerce, pr5.8Kskills.sh installs