Conversor de JSON Schema para TypeScript

Cole um JSON Schema (draft-07 ou 2020-12) e receba interfaces TypeScript: propriedades obrigatórias e opcionais, enums como union types, oneOf/anyOf como unions, allOf como intersections, definições $ref como tipos nomeados e descrições como comentários JSDoc.

Atualizado em
Declarar como

Seus dados nunca saem do seu computador. Todo o processamento acontece localmente no navegador.

Como usar: JSON Schema para TypeScript

  1. Cole seu JSON Schema — ou um objeto components.schemas do OpenAPI — no painel da esquerda.
  2. Defina o nome do tipo raiz e se quer usar interface ou type.
  3. Os tipos TypeScript são atualizados enquanto você digita; definições em $defs ou definitions viram tipos nomeados próprios.
  4. Copie o código para um arquivo .ts ou .d.ts.

Como o JSON Schema se traduz para TypeScript

JSON SchemaTypeScript
"type": "string" / number, integer / boolean / nullstring / number / boolean / null
properties + requiredinterface com prop e prop? opcional
enum, constunion de literais: "draft" | "published"
items, prefixItemsT[], tuplas [A, B]
additionalProperties (schema)[key: string]: T
oneOf / anyOf / allOfA | B / A | B / A & B
$ref: "#/$defs/User"o tipo nomeado User
"type": ["string", "null"]string | null

Palavras-chave só de validação, como minLength, pattern ou format, não têm equivalente em TypeScript; elas são incluídas no comentário JSDoc quando o JSDoc está ativado. URLs de $ref externas são tipadas como unknown.

Quer partir de dados de exemplo em vez de um schema? Use o JSON para TypeScript. Para validar dados contra um schema, use o Validador de JSON Schema.

Também pesquisado como: json schema to typescript, gerar typescript a partir de json schema, json schema interface, conversor json schema typescript, openapi schema para typescript, tipos json schema, json schema para ts.

Ferramentas que combinam com: JSON Schema para TypeScript

  • JSON para JSON Schema — Cole um ou mais exemplos de JSON e receba um JSON Schema que os descreve: objetos aninhados, arrays de objetos unificados em um único schema de item, campos required (chaves presentes em todos os exemplos), formatos detectados como email, date-time, URI e UUID, enums opcionais e saída no draft 2020-12 ou draft-07.
  • JSON para Tipos — Cole uma resposta da API e receba modelos prontos para uso em 8 linguagens: TypeScript, Python (dataclass, TypedDict ou Pydantic), Go, Java, C#, Kotlin, Swift e Rust.
  • Formatação JSON — Cole o JSON aqui para formatá-lo, compactá-lo ou validá-lo.
  • Validador OpenAPI / Swagger — Cole uma especificação de API para checar contra o schema oficial do OpenAPI, encontrar referências quebradas e parâmetros de path inconsistentes, e ver todos os endpoints de uma vez.

Perguntas frequentes

Como converter JSON Schema para TypeScript?
Cole o schema no painel da esquerda; as interfaces TypeScript aparecem na direita. Definições em $defs ou definitions viram tipos nomeados para os quais o $ref aponta.
Quais versões do JSON Schema são suportadas?
Draft-04 até draft-07 e as palavras-chave de 2019-09/2020-12: properties, required, enum, const, items, prefixItems, additionalProperties, oneOf, anyOf, allOf, $ref, $defs e definitions.
Posso usar com schemas do OpenAPI?
Sim — cole um único schema ou o objeto components.schemas inteiro para obter um tipo por schema. Referências a #/components/schemas/ são resolvidas.
Meu schema é enviado para algum servidor?
Não. A conversão roda inteiramente no seu navegador.
Posso instalar o JSON Schema para TypeScript como um aplicativo da web e usá-lo offline?
Sim. O JSON Schema para TypeScript é um aplicativo da web instalável (PWA) — instalado a partir do seu navegador, não baixado de uma loja de aplicativos. Clique em “Instalar aplicativo” na parte superior desta página no Chrome ou no Edge (Windows, macOS, Linux, ChromeOS) ou, no Android, use “Compartilhar” → “Adicionar à tela inicial” no iPhone e no iPad, ou “Arquivo” → “Adicionar ao Dock” no Safari 17+ em um Mac. Em seguida, ela se abre em uma janela própria com seu próprio ícone e, como é executada inteiramente no seu navegador, continua funcionando offline. O Firefox no desktop não permite a instalação de aplicativos da web. Como funciona a instalação.

Ferramentas relacionadas