Binatomy
Générateur TypeScript

JSON to TypeScript

Paste JSON and instantly generate TypeScript interfaces, with recursive inference of nested objects, arrays and optional types
FAQ

Questions Fréquentes

Everything you need to know about generating TypeScript interfaces

Comment les types sont-ils déduits du JSON?

The tool recursively analyzes your JSON: strings become string, numbers become number, booleans become boolean. Each nested object generates its own interface with a PascalCase name derived from the key, while arrays produce [] types by inferring the element type. Null values are treated as optional properties.

Comment les tableaux et les types mixtes sont-ils gérés?

For arrays, the tool examines all elements and builds a union type when it finds different types (for example (string | number)[]). An empty array becomes any[]. If the elements are objects, a reusable interface with a singular name is generated. All computation happens in your browser, your JSON never leaves your device.

Puis-je changer le nom de l'interface principale?

Yes, use the "Root interface name" field to set the name of the top-level interface. The text is automatically converted to valid TypeScript PascalCase. Nested interfaces are automatically named from their respective keys, with numeric suffixes added in case of collisions to guarantee unique names.

Comment les tableaux du JSON sont-ils typés ?

Chaque élément du tableau est examiné et les types trouvés forment une union. Si tous les éléments ont la même forme, le résultat est un tableau d'une seule interface.

Que deviennent les valeurs null du JSON ?

Un null dans le JSON de départ produit une propriété marquée optionnelle avec un point d'interrogation et de type null, car l'exemple seul ne permet pas de deviner le type réel du champ.

Peut-on changer le nom de l'interface principale ?

Oui, un champ permet de nommer l'interface racine, qui s'appelle RootObject au départ. Le nom est converti en PascalCase et les interfaces imbriquées prennent le nom de la clé qui les contient.