Schema Transformation Toolkit

One IR. Every schema format.

Convert between schema formats through Shape IR, a deterministic intermediate representation designed to make multi-format systems easier to build, inspect, and extend.

Deterministic

Inspectable

Open Source

Typed

Browser First

Transformation walkthrough

Homepage transformation preview

JSON Schema

{  "title": "User",  "type": "object",  "properties": {    "name": {      "type": "string"    },    "age": {      "type": "integer"    }  },  "required": ["name", "age"]}

TypeScript

interface User {  name: string;  age: number;}
Schema
Parser
Shape IR
Transformation
Generator
Output

Transform schemas through a shared intermediate representation. Inspect each stage from parser input to generated output.

Architecture

Why Shape IR matters

Instead of building separate converters for every format pair, Schema Transformation Toolkit routes each parser and generator through one shared intermediate representation.

That keeps the system easier to extend, easier to inspect, and less likely to collapse into N×N transformation logic.

TypeScript

JSON Schema

Shape IR

OpenAPI

Core Value

Why teams reach for this workflow

One IR

Build transformations through one shared representation instead of maintaining format-pair glue repeatedly.

Diagnostics First

Keep warnings, errors, and structural intent visible instead of hiding them behind generator output.

Round-Trip Ready

Move from parser to IR to generator with a pipeline that is easier to reason about and extend.

Engineering Workflow

Use the Playground to understand how a transformation behaves before embedding it into real workflows.

Product Surfaces

Explore the toolkit from different entry points

Playground

Live transformation workspace

Diagnostics alongside output

Shape IR and stage visibility

Conversions

Supported transformation paths

Capability matrix over time

Entry point for format pair docs

Formats

Format-specific support notes

Parser and generator coverage

Related conversions and limits

Docs

Integration guidance

Architecture and workflow docs

Reference material and examples