Skip to content
jsonforge.app

JSON Assistant

Turn a JSON sample into a SQL table, Drizzle schema, or Zod/Yup/Joi validator — plus mock data, a secret scan, and a structure review.

Database
Validation
Data
Analysis
AI
JSON input
Loading editor…
SQL table

Paste JSON on the left to run this action.

What is JSON Assistant?

The JSON Assistant runs a set of analyses and code generators over a sample JSON payload: it infers the shape of your records, then turns that shape into a SQL CREATE TABLE, a Drizzle schema, a Zod, Yup, or Joi validator, or a batch of realistic mock data — and separately audits the payload for credentials and personal data, or reviews it for structural problems. Every one of these is a mechanical transform of an inferred type model rather than a guess, which is why they run instantly, offline, and without sending your JSON anywhere. That last point matters most for the sensitive-data scan: the entire purpose of checking whether a payload contains an API key or a customer email is defeated if the check requires uploading the payload to do it.

How to use JSON Assistant

  1. Paste a representative JSON payload into the left panel — an array of records, or an object wrapping one (the assistant finds the largest record collection automatically).
  2. Pick an action from the row above: SQL table, Drizzle schema, Zod/Yup/Joi validator, mock data, sensitive-data scan, or structure review.
  3. The result appears on the right and updates as you edit. For mock data, set how many rows you want.
  4. Copy the result with the copy button. The line under the panels reports how many records and fields were read, so you can confirm it found the right collection.

Examples

Records → SQL table

Input

{"users": [{"id": 1, "email": "ada@example.com", "active": true}]}

Output

CREATE TABLE users ( id BIGINT PRIMARY KEY, email VARCHAR(32) NOT NULL, active BOOLEAN NOT NULL );

Sensitive-data scan finds a credential

Input

{"user": {"email": "a@b.com", "apiKey": "sk_live_51H8xQ2eZvKYlo2C"}}

Output

high user.apiKey Key name suggests a credential medium user.email Key name suggests personal data

Common mistakes

  • Generating a schema from a sample that omits optional fields — the output can only describe the keys it actually saw, so a thin sample produces a schema that rejects valid production payloads.
  • Treating a clean sensitive-data result as a guarantee; pattern matching finds known shapes of secret, not every secret.
  • Running the generated CREATE TABLE unchanged in production — column widths, index choices, and foreign keys all come from one sample and deserve a review pass.

Why use this tool

  • Runs entirely client-side, which is what makes the sensitive-data scan trustworthy in the first place.
  • One inferred type model drives every generator, so the SQL table, Drizzle schema, and Zod validator all agree with each other.
  • Mock data is seeded and deterministic, so regenerating a fixture doesn't churn your diff.

Frequently asked questions