vercel-labs

json-render: Build Guardrailed Interfaces from AI-Generated JSON

json-render turns AI-generated JSON into interfaces using components and actions you define, so model output stays within your application's boundaries. It supports multiple UI frameworks and targets beyond web interfaces, including mobile, email, PDFs, video, and 3D.

ActiveTypeScriptApache-2.0FrameworkGenerative AIReact
Stars
18.6k
Forks
985
Stars, last 10 days
+169
Last commit
7 days ago
Contributors
22

Our take

Activeregular commits and releases

Health score

51/100

How it is scored
Activity
73
Community
45
Issues
39
Pull requests
48

+169 stars in the last 10 days

  • Releases more often than 93% of the projects we track
  • Slower to close issues than 87% of the projects we track

An actively maintained, broad generative-UI toolkit with useful guardrails, but its large surface area and contributor concentration merit a deliberate evaluation.

Good fit if

  • You need model-generated interfaces constrained by a schema and a component catalog.
  • Your application uses a supported renderer, or you want to explore outputs such as PDF, email, video, or 3D.
  • Your team can use Node.js 24 or newer and is comfortable integrating TypeScript packages.

Look elsewhere if

  • You need the model to generate unrestricted UI code rather than choose from predefined components.
  • You need a small, single-target renderer rather than a framework spanning many platforms and output types.
  • Your team cannot accept reliance on a project where most contributions come from one person.
All health signals
Last commit2026-10-01 (7 days ago)
Commits, last 90 days12
Releases, last 12 months100+ (latest v0.21.0, 2026-09-18)
Contributors22 (top contributor: 78% of commits)
Issues closed, last 90 days6 (typically closed in 155 days)
Pull requests merged, last 90 days12 (typically merged in 1 day)
Project age9 months

Checked on 2026-10-09 with the GitHub API.

Overview

json-render is a TypeScript framework for generating interfaces from natural-language requests while restricting the output to a developer-defined catalog of components and actions. Instead of letting a model produce arbitrary UI code, an application supplies a schema and renderer that interpret structured JSON.

It suits teams adding AI-generated, data-driven interfaces to an existing product. The same general catalog-and-renderer approach spans several UI frameworks and output formats, though each target has its own package and integration requirements.

Key Features

  • Define allowed components, their props, and available actions in a catalog.
  • Validate and render structured UI specifications through framework-specific renderers.
  • Stream partial specifications and update the rendered interface as responses arrive.
  • Bind props and visibility to application state, with conditional expressions and computed values.
  • Trigger application actions and react to state changes through watchers.
  • Target React, Vue, Svelte, Solid, and React Native, as well as formats such as PDF, email, video, images, terminal UIs, and 3D scenes.
  • Generate AI prompts from catalog definitions and use included shadcn component sets.

Use Cases

  • Product teams can let users request personalized dashboards while limiting generated layouts to approved widgets and actions.
  • Teams building AI-assisted forms can bind generated controls to application state and trigger existing actions.
  • Developers can generate email or PDF documents from structured data using the document-specific renderers.
  • Prototyping teams can explore AI-generated mobile, video, or 3D experiences without allowing the model to write arbitrary rendering code.

What you need

Detected in the repository

  • Node.js >=24 (from package.json)
  • A test suite and automated checks on GitHub Actions

License in plain words

Apache-2.0permissive

  • Commercial use: yes
  • Modify and redistribute: yes
  • You must keep: the license, the NOTICE file and a note of your changes
  • Share your changes: no
  • Includes an explicit patent grant from the contributors:

A summary, not legal advice: the LICENSE file is what applies.

Getting Started

For React, install the core and renderer packages:

npm install @json-render/core @json-render/react

Then define a catalog and component registry for your app. See the README for framework-specific setup and examples.

Considerations

  • The project is active, with recent commits and frequent releases, but contribution is concentrated: most changes come from one person despite participation from other contributors.
  • Issue resolution is comparatively slow, so teams with time-sensitive bug reports should account for that when evaluating support needs.
  • The runtime requirement is Node.js 24 or newer. The repository reports CI and tests, but teams should still validate their chosen renderer and package combination.
  • Its many targets add integration complexity. Some features are explicitly experimental, including the Jev composition workflow, which the README labels unreleased.
  • Apache-2.0 permits commercial use, subject to its license conditions, including retaining applicable notices.

Found this useful?

Share it with someone who would like json-render.

Comparisons