Kostenloses JSON-zu-TypeScript-Tool
Wandle JSON-Objekte automatisch in TypeScript-Interfaces um. Kostenlos, schnell und vollständig im Browser, ohne Anmeldung.
Aktualisiert am
JSON to TypeScript
Convert JSON objects to TypeScript interfaces, type aliases, Zod schemas, or JSON Schema with smart type inference, tuple detection, and history.
Quick Presets
Options
JSON Input
About JSON to TypeScript
Output Formats
- TypeScript interfaces
- TypeScript type aliases
- Zod validation schemas
- JSON Schema (draft-07)
Type Detection
- Nested objects as separate types
- Mixed arrays and tuple detection
- Null vs undefined handling
- Enum generation from strings
- Auto-detect optional keys from samples
Features
- Multiple samples for better inference
- Readonly and optional modifiers
- Namespace wrapping
- Download as .ts or .d.ts
- Syntax-highlighted output
- Quick presets for common use cases
- Ctrl+Enter keyboard shortcut
Privacy First: All processing happens locally in your browser. Your JSON data is never sent to any server.
Related Tools
Häufig gestellte Fragen
Was ist der JSON-zu-TypeScript-Konverter?
Der JSON-zu-TypeScript-Konverter ist ein kostenloses Online-Tool, das automatisch TypeScript-Interfaces aus JSON-Objekten generiert und dir Zeit beim Schreiben von Typdefinitionen spart.
Ist der JSON-zu-TypeScript-Konverter kostenlos?
Ja, er ist völlig kostenlos und erfordert keine Registrierung. Die gesamte Konvertierung erfolgt clientseitig in deinem Browser.
Verarbeitet er verschachtelte Objekte?
Ja, der JSON-zu-TypeScript-Konverter verarbeitet tief verschachtelte Objekte und Arrays und generiert für jede Ebene passende TypeScript-Interfaces.
Sind meine Daten mit diesem Tool sicher?
Absolut. Das JSON to TypeScript Tool verarbeitet alles clientseitig in deinem Browser. Es werden keine Daten auf einen Server hochgeladen oder dort gespeichert. Deine Inhalte bleiben jederzeit privat auf deinem Gerät.
Funktioniert das JSON to TypeScript Tool auf Mobilgeräten?
Ja, das JSON to TypeScript Tool ist vollständig responsiv und funktioniert auf Smartphones und Tablets. Du kannst es auf jedem Gerät mit einem modernen Webbrowser verwenden, ohne App-Download.
Muss ich ein Konto erstellen, um dieses Tool zu nutzen?
Es ist kein Konto und keine Registrierung erforderlich. Öffne einfach das JSON to TypeScript Tool in deinem Browser und beginne sofort mit der Nutzung. Es gibt keine Anmeldeschranken oder Nutzungsbeschränkungen.
Wie verwende ich das JSON to TypeScript Tool?
Gib einfach deine Eingabe in das vorgesehene Feld ein, passe die Einstellungen nach deinen Wünschen an, und das Tool verarbeitet sie sofort. Anschließend kannst du das Ergebnis in die Zwischenablage kopieren oder herunterladen.
Welche Browser werden unterstützt?
Das JSON to TypeScript Tool funktioniert in allen modernen Browsern, einschließlich Chrome, Firefox, Safari, Edge und Opera. Für das beste Erlebnis verwende die neueste Version deines bevorzugten Browsers.
Was ist der Unterschied zwischen einem TypeScript-Interface und einem Typalias für JSON-Daten?
Ein Interface und ein Typalias können dieselbe JSON-Struktur beschreiben, verhalten sich aber unterschiedlich. Interfaces sind offen: Du kannst dasselbe Interface zweimal deklarieren, und TypeScript führt die Mitglieder zusammen, außerdem lesen sie sich klar für Objektmodelle wie eine API-Antwort. Typalias können nicht erneut geöffnet werden, sind dafür aber flexibler bei Unions, Intersections und Mapped Types, weshalb sie sich für Felder eignen, die mehrere mögliche Formen annehmen können. Für die meisten einfachen API-Nutzlasten funktioniert beides, und die Wahl ist eher stilistisch, wobei viele Teams standardmäßig Interfaces für Objektmodelle nutzen und zu Typalias greifen, sobald eine Union im Spiel ist. Dieser Konverter generiert aus demselben JSON beides, zusätzlich Zod-Schemas und JSON Schema, sodass du das Ausgabeformat mit einem Klick wechseln und vergleichen kannst. Er extrahiert dabei in beiden Fällen verschachtelte Objekte in eigene benannte Deklarationen. Füge dein JSON ein, wähle Interface oder Typalias, und kopiere das Ergebnis direkt in eine .ts-Datei.
Warum erzeugt ein einzelnes JSON-Beispiel falsche optionale Felder, und wie behebe ich das?
Eine einzelne Antwort zeigt nur die Felder, die zufällig genau in diesem einen Fall vorhanden waren. Wenn ein Endpunkt manchmal avatar_url weglässt oder für nickname null zurückgibt, markiert ein Konverter, der nur eine Nutzlast sieht, diese Felder als immer erforderlich, und deine Typen lügen dann über die tatsächlichen Daten. Die Lösung besteht darin, mehrere Beispiele zusammenzuführen, damit das Tool sie vergleichen kann. Dieser Konverter akzeptiert mehrere JSON-Beispiele und führt ihre Strukturen zusammen: Ein Schlüssel, der in jedem Beispiel vorkommt, bleibt erforderlich, während ein Schlüssel, der in irgendeinem Beispiel fehlt, als optional erkannt wird. Das Ergebnis spiegelt wider, wie sich die API tatsächlich über mehrere Antworten hinweg verhält, statt nur eine einzige zufällig passende Nutzlast abzubilden, was bedeutet, weniger Laufzeitüberraschungen, wenn sich ein Feld, das du für immer vorhanden hieltest, als fehlend herausstellt. Füge ein paar unterschiedliche Antworten ein, lass das Tool sie abgleichen, und du erhältst automatisch korrekte erforderliche und optionale Felder.
Wie erzeuge ich aus JSON ein Zod-Schema statt nur ein TypeScript-Interface?
Ein reines Interface existiert nur zur Kompilierzeit und kann daher nicht prüfen, ob zur Laufzeit ankommende Daten tatsächlich passen. Zod löst das, indem es dir ein Schema gibt, auf dem du .parse() aufrufen kannst, um eingehendes JSON zu validieren und aus derselben Definition einen passenden Typ abzuleiten. Wechsle in diesem Konverter das Ausgabeformat von Interface zu Zod-Schema, und er erzeugt aus deinem JSON eine z.object({ ... })-Deklaration, wobei verschachtelte Objekte als eigene Schemas ausgedrückt werden. Die Behandlung von optionalen und nullbaren Feldern wird übernommen, sodass ein manchmal fehlendes Feld zu .optional() und ein Feld, das null sein kann, zu .nullable() wird. Es gibt außerdem eine Zod-Validation-Voreinstellung per Klick, die sinnvolle Standardwerte setzt. Füge dein JSON ein, wähle die Zod-Ausgabe, und kopiere ein Schema, das deine Daten sowohl typisiert als auch validiert.
Kann der Konverter spezifische Typen wie UUID, E-Mail oder Datumsstrings statt eines einfachen string erkennen?
Standardmäßig wird jeder JSON-String auf den breiten TypeScript-Typ string abgebildet, was zwar korrekt ist, aber Bedeutung verliert. Wenn du die Spezialtyp-Erkennung aktivierst, untersucht der Konverter String-Werte und erkennt gängige Formate – UUIDs, E-Mail-Adressen, URLs und ISO-Datumsstrings –, sodass du aussagekräftigere Ausgaben erhältst statt überall einem generischen string. Er behandelt auch Arrays intelligenter: Arrays mit fester Länge und gemischten Typen werden als Tupel erkannt statt auf einen einzigen Elementtyp verallgemeinert zu werden, was positionsabhängige Daten korrekt hält. Diese Verhaltensweisen sind standardmäßig deaktiviert, damit du die Kontrolle darüber behältst, wie aggressiv die Ableitung ist, und Voreinstellungen wie Strict und API Response schalten die relevanten davon mit einem Klick für dich ein. Aktiviere die Spezialtyp-Erkennung oberhalb der Eingabe, füge dein JSON ein, und die generierten Typen spiegeln die tatsächliche Form und Bedeutung deiner Werte wider, statt alles auf string zu reduzieren.
Wie wähle ich zwischen null, undefined und einer T | null-Union für nullbare Felder?
JSON verwendet null für fehlende Werte, aber TypeScript bietet dir drei Möglichkeiten, das abzubilden, und welche richtig ist, hängt von deinem Code ab. undefined passt natürlich zu optionalen Eigenschaften und ist das, was du bekommst, wenn ein Schlüssel in einem Objekt schlicht fehlt. Das literale null entspricht exakt dem JSON-Übertragungsformat, was nützlich ist, wenn du zurück an eine API serialisierst. Eine T | null-Union hält das Feld erforderlich, erlaubt aber ein explizites null, wodurch aufrufender Code gezwungen wird, den leeren Fall zu behandeln. Dieser Konverter bietet eine Option für die Null-Behandlung, sodass du zwischen null, undefined oder der nullbaren Union wählen kannst, und die Wahl wird konsistent auf jedes generierte Feld angewendet. Lege deine Präferenz oberhalb der Eingabe fest, füge dein JSON ein, und kopiere Typen, die widerspiegeln, wie deine Anwendung fehlende Daten behandelt.
Embed This Tool
Add a free, live version of this widget to your own website or blog post — it runs entirely in your visitors' browsers, with a credit link back to The Toolbox.
<iframe src="https://getthetoolbox.com/embed/json-to-typescript" title="Free JSON to TypeScript Tool — The Toolbox" width="100%" height="400" style="max-width:480px;border:1px solid #e2e8f0;border-radius:12px" loading="lazy"></iframe>
<p style="font-size:12px;margin:4px 0 0"><a href="https://getthetoolbox.com/code-tools/json-to-typescript?utm_source=embed&utm_medium=widget" target="_blank" rel="noopener">Free JSON to TypeScript Tool</a> by The Toolbox</p>Verwandte Tools
Kostenloser CSS-Minifier online
Minifizieren Sie CSS-Code, um die Dateigröße zu verringern und die Ladegeschwindigkeit zu verbessern. Kostenlos, schnell und vollständig im Browser, ohne Anmeldung.
Kostenloser JavaScript-Minifier
Minifizieren Sie JavaScript-Code, um die Dateigröße zu verringern und die Leistung zu verbessern. Kostenlos, schnell und vollständig im Browser, ohne Anmeldung.
Kostenloser HTML-Minifier online
Minimiere HTML-Code, um Seitengröße und Ladezeit zu reduzieren. Kostenlos, schnell und vollständig im Browser, ohne Anmeldung.
Kostenloser SQL-Formatierer & Verschönerer
Formatiere und verschönere SQL-Abfragen für bessere Lesbarkeit. Kostenlos, schnell und vollständig im Browser, ohne Anmeldung.
Über das Tool „JSON zu TypeScript"
Das Tool „JSON zu TypeScript" verwandelt ein rohes JSON-Objekt in sofort einsetzbare Typdefinitionen. Füge eine API-Antwort, eine Konfigurationsdatei oder ein beliebiges JSON-Beispiel ein, und das Tool leitet die Struktur deiner Daten ab und erzeugt passende interface-Deklarationen – rekursiv, bis in die tiefsten verschachtelten Objekte und Arrays hinein. Statt Dutzende Felder von Hand zu tippen und zu raten, ob ein Wert ein string, eine number oder ein weiteres Objekt ist, bekommst du einen vollständigen Typbaum, den du direkt in eine .ts-Datei übernehmen kannst.
Entwickelt ist es für TypeScript-Entwickler, die mit ungetypten Daten arbeiten: Frontend-Ingenieure, die REST-Endpunkte konsumieren, alle, die eine Drittanbieter-API ohne veröffentlichte Typen einbinden, sowie Teams, die wollen, dass ihre Laufzeitdaten und ihre Kompilierzeit-Typen tatsächlich übereinstimmen.
Alles läuft in deinem Browser. Dein JSON wird auf deinem eigenen Gerät geparst und konvertiert – ohne Upload, ohne Konto, ohne Registrierung. Das spielt eine Rolle, wenn die Nutzlast Tokens, interne Feldnamen oder Produktions-Antwortkörper enthält, die du lieber nicht in einen entfernten Dienst einfügen möchtest.
Vier Ausgabeformate, nicht nur Interfaces
Das Tool erzeugt mehr als reine Interfaces. Du kannst die Ausgabe umschalten zwischen:
- TypeScript-Interface – die klassische
interface User { ... }-Deklaration, wobei verschachtelte Objekte in eigene benannte Interfaces extrahiert werden. - TypeScript-Typalias – dieselbe Struktur, ausgedrückt als
type-Alias statt als Interface, nützlich für Unions und strengere Kompositionen. - Zod-Schema – ein Laufzeit-Validierungsschema (
z.object({ ... })), mit dem du die Daten an der Grenze sowohl typisieren als auch validieren kannst. - JSON Schema – eine portable Schemadefinition für Dokumentation, Validierung oder die Weiterverarbeitung durch andere Codegeneratoren.
Steuere, wie die Typen abgeleitet werden
Typgenerierung ist selten pauschal richtig, deshalb ist die Konvertierung konfigurierbar. Du kannst den Namen des Wurzeltyps festlegen, den Export-Stil wählen (benannter Export, Default-Export oder keiner) und eine Namenskonvention (PascalCase oder camelCase) für generierte Typnamen bestimmen. Optionen auf Feldebene erlauben es, jede Eigenschaft als optional zu markieren, readonly-Modifikatoren hinzuzufügen und festzulegen, wie Nullwerte dargestellt werden – als null, undefined oder als T | null-Union. Die JSDoc-Kommentargenerierung fügt kurze Beschreibungen über gängigen Feldern ein, und Array-Elementtypen können singularisiert werden, sodass ein users-Array einen Typ User statt Users ergibt.
Die Ableitung ist in einigen praktischen Punkten schlauer als naives Typ-Raten. Sie erkennt Tupel-förmige Arrays (feste Länge, gemischte Typen) statt sie auf einen einzigen Elementtyp zu verallgemeinern, und sie erkennt gängige String-Formate – UUIDs, E-Mail-Adressen, URLs und ISO-Datumsstrings –, sobald du die Spezialtyp-Erkennung aktivierst. Gespeicherte Voreinstellungen wie Strict, Minimal, API Response, Zod Validation und Form Data wenden mit einem Klick sinnvolle Kombinationen dieser Optionen an.
Mehrere Beispiele zusammenführen für korrekte Optionalfelder
Ein einzelnes JSON-Beispiel lügt oft über deine Daten. Eine API-Antwort lässt vielleicht ein Feld weg, das eine andere enthält, und ein naiver Konverter würde es als immer vorhanden markieren. Dieses Tool erlaubt es, mehrere JSON-Beispiele bereitzustellen und zusammenzuführen: Ein Schlüssel, der in jedem Beispiel vorkommt, bleibt erforderlich, während ein Schlüssel, der in manchen Beispielen fehlt, korrekt als optional erkannt wird. Das Ergebnis sind Typdefinitionen, die widerspiegeln, wie sich der Endpunkt tatsächlich über mehrere Antworten hinweg verhält, statt nur eine einzige zufällig gute Nutzlast abzubilden.
Was du zurückbekommst
Die Konvertierung erfolgt sofort und aktualisiert sich, während du bearbeitest. Die Ausgabe ist zur besseren Lesbarkeit syntaxhervorgehoben und wird mit einer kurzen Zusammenfassung des generierten Codes geliefert – Anzahl der Typen, Gesamtzahl der Eigenschaften, maximale Verschachtelungstiefe und Zeilenanzahl. Wenn du zufrieden bist, kopiere das Ergebnis in die Zwischenablage oder lade es als .ts-Datei herunter. Ein integriertes Beispiel lädt gültiges JSON, falls du nur sehen möchtest, wie sich eine bestimmte Option auf die Ausgabe auswirkt, und deine letzten Konvertierungen werden im lokalen Browser-Verlauf gespeichert, damit du zu einem früheren Ergebnis zurückkehren kannst, ohne erneut einfügen zu müssen.