vercel-labs / json-render
git clone https://github.com/vercel-labs/json-render.git
v0.21.1 · 8d ago
The Generative UI framework
+8
stars, 24h · #1,825
+~56
stars, 7 days · #2,264
+~240
stars, 30 days · #2,229
19k
★ total · +0% this week
1.0k
forks · 120 open issues
Star history (as recorded here)
LanguageTypeScript
LicenseApache-2.0
Created2026-01-14 (9mo ago)
Last pushtoday
Watchers61
OwnerOrganization
Links
- GitHub: github.com/vercel-labs/json-render
- Homepage: https://json-render.dev
- Releases · Issues · Hacker News mentions
README excerpt
# json-render **The Generative UI framework.** Generate dynamic, personalized UIs from prompts without sacrificing reliability. Predefined components and actions for safe, predictable output. [code] ## Why json-render? json-render is a **Generative UI** framework: AI generates interfaces from natural language prompts, constrained to components you define. You set the guardrails, AI generates within them: - **Guardrailed** - AI can only use components in your catalog - **Predictable** - JSON output matches your schema, every time - **Fast** - Stream and render progressively as the model responds - **Cross-Platform** - React, Vue, Svelte, Solid (web), React Native (mobile) from the same catalog - **Batteries Included** - 36 pre-built shadcn/ui components ready to use ## Quick Start ### 1. Define Your Catalog [code] ### 2. Define Your Components [code] ### 3. Render AI-Generated Specs [code] **That's it.** AI generates JSON, you render it safely. --- ## Packages | Package | Description | | --------------------------- | ---------------------------------------------------------------------- | | `@json-render/core` | Schemas, catalogs, AI prompts, dynamic props, SpecStream utilities | | `@json-render/react` | React renderer, contexts, hooks | | `@json-render/vue` | Vue 3 renderer, composables, providers | | `@json-render/svelte` | Svelte 5 renderer with runes-based reactivity | | `@json-render/solid` | SolidJS renderer with fine-grained reactive contexts | | `@json-render/shadcn` | 36 pre-built shadcn/ui components (Radix UI + Tailwind CSS) | | `@json-render/shadcn-svelte`| 36 pre-built shadcn-svelte components (Svelte 5 + Tailwind CSS) | | `@json-render/react-three-fiber` | React Three Fiber renderer for 3D scenes (20 built-in components, including GaussianSplat) | | `@json-render/react-native` | React Native renderer with standard mobile components | | `@json-render/next` | Next.js renderer — JSON becomes full apps with routes, layouts, SSR | | `@json-render/tanstack-start` | TanStack Start renderer — full apps with routes, layouts, SSR, and head metadata | | `@json-render/remotion` | Remotion video renderer, timeline schema | | `@json-render/react-pdf` | React PDF renderer for generating PDF documents from specs | | `@json-render/react-email` | React Email renderer for HTML/plain-text emails from specs | | `@json-render/ink` | Ink terminal renderer with built-in components for interactive TUIs. | | `@json-render/image` | Image renderer for SVG/PNG output (OG images, social cards) via Satori | | `@json-render/directives` | Pre-built custom directives — $format, $math, $concat, $count, $truncate, $pluralize, $join, $t (i18n) | | `@json-render/codegen` | Utilities for generating code from json-render UI trees | | `@json-render/devtools` | Framework-agnostic devtools core — panel UI, event store, picker, stream taps | | `@json-render/devtools-react` | React adapter for `@json-render/devtools` (drop-in ` `) | | `@json-render/devtools-vue` | Vue a