O que faz
A ferramenta JSON → TypeScript lê qualquer JSON válido e infere interfaces TypeScript limpas e tipadas — nunca mais escreva tipos à mão. Ela lida com objetos aninhados (cada um ganha uma sub-interface nomeada), arrays (T[]), arrays heterogêneos (mesclados em unions ou uma união real, você escolhe), valores primitivos e null. Formas aninhadas idênticas são deduplicadas numa interface compartilhada, e chaves que colidem com palavras reservadas do TypeScript são automaticamente quotadas. Tudo roda 100 % no seu navegador, então é seguro colar payloads reais e sensíveis.
Como usar
- Cole seu JSON na caixa de entrada JSON (ou toque em Exemplo para uma demonstração).
- Opcionalmente defina um nome raiz (padrão
Root, saneado para um identificador válido). - Escolha Elementos de array como união: Mesclar (padrão — objetos mesclam chaves, primitivos distintos viram união) ou União (emitir uma união real dos tipos de elementos distintos).
- Ative Nullable → opcional para marcar como opcionais as propriedades cujo tipo inclui
null. - As interfaces renderizam ao vivo à direita, fixas enquanto você rola a entrada.
- Copie o TypeScript, baixe como
types.ts, ou copie o link de compartilhamento para reproduzir a visão exata.
Exemplos
Inferir uma interface de um objeto aninhado
Entrada:
{ "id": 7, "name": "CosmoDev", "tags": ["json", "ts"], "meta": { "version": 2 } }
Saída:
interface Root {
id: number;
name: string;
tags: string[];
meta: RootMeta;
}
interface RootMeta {
version: number;
}
Arrays heterogêneos mesclam num elemento união
Entrada: { "xs": [1, "a"] } → propriedade xs: (number | string)[].
Chaves com palavras reservadas são quotadas
Entrada: { "class": "x", "default": 1 } → "class": string; "default": number;.
Bom saber
- Compartilhável: sua entrada e opções ficam codificadas na URL — um link reproduz a saída exata.
- Privado: toda a inferência acontece localmente — seguro para segredos e credenciais.
- Ferramentas relacionadas: JSON Formatter, JSON Validator,
Base64Base64An encoding representing binary data as 64 safe ASCII characters, so it survives transport through text-only channels. It encodes — it does not encrypt.
.