Kostenloser JSON-Schema-Generator

Erzeugen Sie automatisch ein JSON Schema aus Ihren JSON-Daten. Kostenlos, schnell und komplett im Browser, ohne Anmeldung.

Aktualisiert am

Share:
Zum Leitfaden: How to Generate a JSON Schema from a Sample Payload
Home/Developer Tools/JSON Schema Generator

JSON Schema Generator

Generate JSON Schema with format detection, constraints, and support for multiple draft versions.

Generation Options
Show

JSON Input

Generated Schema
12 props, depth 2

{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "format": "uuid",
      "minLength": 1,
      "maxLength": 255,
      "description": "Id"
    },
    "name": {
      "type": "string",
      "minLength": 1,
      "maxLength": 255,
      "description": "Name"
    },
    "email": {
      "type": "string",
      "format": "email",
      "minLength": 1,
      "maxLength": 255,
      "description": "Email"
    },
    "age": {
      "type": "integer",
      "minimum": 0,
      "maximum": 1000000,
      "description": "Age"
    },
    "isActive": {
      "type": "boolean",
      "description": "Is active"
    },
    "website": {
      "type": "string",
      "format": "uri",
      "minLength": 1,
      "maxLength": 255,
      "description": "Website"
    },
    "createdAt": {
      "type": "string",
      "format": "date-time",
      "minLength": 1,
      "maxLength": 255,
      "description": "Created at"
    },
    "tags": {
      "type": "array",
      "items": {
        "type": "string",
        "format": "hostname",
        "minLength": 1,
        "maxLength": 255,
        "description": "Item0"
      },
      "minItems": 1,
      "maxItems": 100,
      "uniqueItems": true,
      "description": "Tags"
    },
    "address": {
      "type": "object",
      "properties": {
        "street": {
          "type": "string",
          "minLength": 1,
          "maxLength": 255,
          "description": "Street"
        },
        "city": {
          "type": "string",
          "minLength": 1,
          "maxLength": 255,
          "description": "City"
        },
        "zipCode": {
          "type": "string",
          "format": "hostname",
          "minLength": 1,
          "maxLength": 255,
          "description": "Zip code"
        }
      },
      "additionalProperties": false,
      "required": [
        "street",
        "city",
        "zipCode"
      ],
      "description": "Address"
    }
  },
  "additionalProperties": false,
  "required": [
    "id",
    "name",
    "email",
    "age",
    "isActive",
    "website",
    "createdAt",
    "tags",
    "address"
  ]
}

Häufig gestellte Fragen

Was ist der JSON Schema Generator?

Der JSON Schema Generator ist ein kostenloses Online-Tool, das automatisch JSON-Schema-Definitionen aus JSON-Beispieldaten erstellt, um APIs zu validieren und zu dokumentieren.

Ist der JSON Schema Generator kostenlos?

Ja, er ist völlig kostenlos und erfordert keine Registrierung. Die gesamte Schema-Generierung erfolgt clientseitig in Ihrem Browser.

Werden meine JSON-Daten gespeichert?

Nein, die gesamte Verarbeitung erfolgt lokal in Ihrem Browser. Ihre JSON-Daten werden niemals an einen Server gesendet.

Funktioniert der JSON Schema Generator auf Mobilgeräten?

Ja, der JSON Schema Generator ist vollständig responsiv und funktioniert auf Smartphones und Tablets. Sie können ihn auf jedem Gerät mit einem modernen Webbrowser nutzen, ganz ohne App-Download.

Muss ich ein Konto erstellen, um dieses Tool zu nutzen?

Es ist kein Konto und keine Registrierung erforderlich. Öffnen Sie einfach den JSON Schema Generator in Ihrem Browser und legen Sie sofort los. Es gibt keine Anmeldebarrieren und keine Nutzungsbeschränkungen.

Welche Programmiersprachen oder Formate werden unterstützt?

Der JSON Schema Generator unterstützt eine breite Palette beliebter Formate und Sprachen. Die vollständige Liste der unterstützten Optionen finden Sie in der Benutzeroberfläche des Tools.

Wie verwende ich den JSON Schema Generator?

Geben Sie einfach Ihre Eingabe in das vorgesehene Feld ein, passen Sie die Einstellungen nach Wunsch an, und das Tool verarbeitet sie sofort. Anschließend können Sie das Ergebnis in die Zwischenablage kopieren oder herunterladen.

Welche Browser werden unterstützt?

Der JSON Schema Generator funktioniert in allen modernen Browsern, darunter Chrome, Firefox, Safari, Edge und Opera. Für das beste Erlebnis verwenden Sie die neueste Version Ihres bevorzugten Browsers.

Was ist der Unterschied zwischen JSON und JSON Schema?

JSON sind die Daten selbst — das tatsächliche Objekt mit echten Werten, etwa ein Nutzerdatensatz oder eine API-Antwort. JSON Schema ist ein separates Dokument, das die Form dieser Daten beschreibt: welche Felder existieren, welchen Typ jedes davon hat (string, integer, boolean, array, object), welche Pflichtfelder sind und welche Werte erlaubt sind. Stell dir JSON als ausgefülltes Formular vor und JSON Schema als die leere Vorlage samt Regeln. Validatoren lesen das Schema, um zu prüfen, ob eine gegebene JSON-Payload den Vorgaben entspricht, bevor dein Code ihr vertraut — so fangen APIs fehlerhafte Anfragen frühzeitig ab. Du schreibst JSON ständig von Hand, aber das passende Schema dazu zu schreiben ist bei verschachtelten Daten mühsam. Dieses Tool dreht den Ablauf um: Füge ein JSON-Beispielobjekt ein, und es leitet ein vollständiges Schema ab, das du dann verfeinerst.

Welche JSON-Schema-Draft-Version sollte ich wählen?

Dieser Generator unterstützt vier Drafts, und die richtige Wahl hängt von deinem Validator ab. Draft-07 ist die empfohlene Standardeinstellung für neue Projekte — es wird von Bibliotheken wie Ajv am breitesten unterstützt und ist das, wovon die meisten Tutorials ausgehen. Wähle Draft-04 nur, wenn du mit älterem oder nicht mehr gepflegtem Legacy-Tooling arbeitest. Draft-2019-09 führte $defs und rekursive Referenzen ein, während Draft-2020-12 die neueste Version ist und aktualisierte Array-Keywords sowie $dynamicRef verwendet; wähle diese, wenn dein Stack sie ausdrücklich unterstützt oder du ihre neueren Funktionen benötigst. Ein Wechsel der Version aktualisiert hier die $schema-URL am Anfang der Ausgabe, damit dein Validator das richtige Regelwerk lädt. Im Zweifel starte mit Draft-07 im Versions-Selector und wechsle später, falls ein Tool sich beschwert.

Warum enthält das generierte Schema additionalProperties: false?

Standardmäßig fügt dieses Tool jedem Objekt additionalProperties: false hinzu, was einem Validator sagt, jede Payload mit Schlüsseln abzulehnen, die nicht in deinem Beispiel vorkamen. Das ist ein bewusst strenger Ausgangspunkt: Er bindet den Vertrag exakt an die von dir bereitgestellten Felder, sodass unerwartete oder falsch geschriebene Schlüssel bei der Validierung durchfallen, statt unbemerkt durchzurutschen. Ideal für interne APIs, bei denen du eine enge, vorhersehbare Form willst. Für öffentliche oder sich weiterentwickelnde APIs, die im Lauf der Zeit optionale Felder ergänzen könnten, kann das jedoch zu starr sein — in diesem Fall würde ein neues Feld Clients brechen, die das strikte Schema nutzen. Die Lösung ist einfach: Lösche diese Zeile oder setze sie auf true, um zusätzliche Eigenschaften zuzulassen. Generiere dein Schema hier und lockere additionalProperties dann bei den Objekten, wo deine API tatsächlich Erweiterungen erlaubt.

Wie entscheidet das Tool, welche Felder Pflichtfelder sind?

Der Generator listet jeden Nicht-Null-Schlüssel aus deinem Beispiel im required-Array des Schemas auf, unter der Annahme, dass ein im Beispiel vorhandenes Feld auch in echten Daten erwartet wird. Er trennt außerdem integer von number, damit ganze Zahlen präzise typisiert werden, und markiert bei aktivierter Formaterkennung Strings, die bekannten Mustern wie email, uri, date-time, uuid, ipv4 und ipv6 entsprechen. Der wichtige Vorbehalt: Pflichtfelder spiegeln nur ein einziges Beispiel wider. Wenn ein Schlüssel in einer Payload zufällig fehlt oder null ist, in der Praxis aber optional sein soll, kann das Tool das aus einem einzigen Beispiel nicht wissen — prüfe also die required-Liste und entferne alle Felder, die wirklich optional sind, bevor du live gehst. Betrachte die Ausgabe als starken ersten Entwurf. Füge dein vollständigstes, repräsentativstes Beispiel ein, um die genaueste Ableitung der Pflichtfelder von diesem Tool zu erhalten.

Sind die Constraints minLength und minimum im Schema unverändert nutzbar?

Nicht ohne Überprüfung. Wenn du Constraints aktivierst, setzt das Tool Grenzwerte, die aus deinem Beispiel abgeleitet werden — minLength und maxLength für Strings, minimum und maximum für Zahlen sowie minItems, maxItems und uniqueItems für Arrays, deren Beispielelemente alle eindeutig sind. Diese werden aus einem einzigen Beispiel berechnet, beschreiben also, was dein Beispiel zufällig enthielt, nicht die tatsächlichen Geschäftsregeln. Wenn dein Beispiel-Benutzername etwa acht Zeichen hatte, könnte maxLength auf acht gesetzt werden, obwohl längere Namen gültig sind — was echte Daten fälschlicherweise ablehnen würde. Behandle jeden generierten Constraint als sinnvollen Standardwert zum Verschärfen oder Lockern, niemals als endgültige Regel. Das Stats-Badge mit Eigenschaftsanzahl und Verschachtelungstiefe hilft dir zu bestätigen, dass die Struktur den Erwartungen entspricht. Generiere das Schema hier und passe die Grenzwerte dann an deine echten Datenbereiche an, bevor du es einsetzt.

Über den JSON Schema Generator

Der JSON Schema Generator verwandelt ein Beispiel an JSON-Daten in eine vollständige JSON-Schema-Definition. Füge eine echte API-Antwort, eine Konfigurationsdatei oder ein beliebiges JSON-Objekt ein, und das Tool leitet Typen, Struktur und Einschränkungen automatisch daraus ab — und liefert dir ein einsatzbereites Schema, das du kopieren oder herunterladen kannst. Entwickelt für Backend- und API-Entwickler, Integrationsingenieure und alle, die einen Vertrag für ihre Daten brauchen, ohne verschachtelte Schemas von Hand zu schreiben.

JSON Schema ist das Standardvokabular, um die Form von JSON zu beschreiben: welche Felder existieren, welchen Typ jedes davon hat, welche Pflichtfelder sind und welche Werte erlaubt sind. Es von Hand zu schreiben ist mühsam und fehleranfällig, sobald es über ein flaches Objekt hinausgeht. Dieser Generator erledigt automatisch die ersten 90 Prozent, sodass du dich auf die letzten 10 Prozent konzentrieren kannst.

Alles läuft direkt in deinem Browser. Das JSON, das du einfügst, wird auf deinem eigenen Gerät geparst und analysiert — es wird niemals auf einen Server hochgeladen. Das bedeutet, du kannst bedenkenlos eine Produktions-Payload, ein internes API-Beispiel oder eine Konfiguration mit Platzhalter-Secrets einfügen, ohne dass etwas deinen Rechner verlässt. Keine Anmeldung, kein Rate-Limit, nichts zu installieren.

Was aus deinem JSON generiert wird

Der Generator durchläuft deine Daten rekursiv und baut ein typisiertes Schema, das die Struktur widerspiegelt:

  • Typableitung — unterscheidet string, boolean, null, array und object und trennt integer von number, damit ganze Zahlen präzise typisiert werden.
  • Verschachtelte Objekte und Arrays — geht in jede Ebene hinein und erzeugt einen properties-Block für jedes Objekt sowie ein items-Schema für Arrays basierend auf den gefundenen Elementen.
  • Pflichtfelder — listet alle Nicht-Null-Schlüssel unter required auf, da ihr Vorhandensein im Beispiel darauf schließen lässt, dass sie erwartet werden.
  • Titel und Beschreibung — füge optional einen Schema-Titel und eine Beschreibung hinzu, oder lass das Tool pro Eigenschaft Beschreibungen aus den Feldnamen generieren (aus createdAt wird so „Created at").

Standardmäßig setzt es außerdem additionalProperties: false und bindet das Schema exakt an die Schlüssel in deinem Beispiel — ein bewusst strenger Ausgangspunkt, den du lockern kannst, falls deine API zusätzliche Felder erlaubt.

Formaterkennung und Constraints

Über die reine Typisierung hinaus erkennt der Generator gängige String-Formate und ergänzt Validierungshinweise. Aktiviere die Formaterkennung, und er markiert Strings, die bekannten Mustern entsprechen: email, uri, date-time, date, time, uuid, ipv4, ipv6 und hostname. Ein Wert wie john@example.com wird also als String mit "format": "email" typisiert, und eine UUID wird automatisch erkannt.

Aktiviere die Constraints, und das Tool setzt Grenzwerte, die du später verfeinern kannst: minLength/maxLength für Strings, minimum/maximum für Zahlen sowie minItems/maxItems plus uniqueItems für Arrays, wenn die Beispielelemente alle eindeutig sind. Diese werden aus deinem Beispiel abgeleitet — behandle sie also als sinnvolle Standardwerte und nicht als endgültige Regeln.

Die richtige Draft-Version wählen

JSON Schema hat sich über mehrere Spezifikations-Drafts weiterentwickelt, und Validatoren unterstützen unterschiedliche Versionen. Der Generator lässt dich zwischen vier Versionen wählen:

  • Draft-04 — die älteste, noch immer weit verbreitet in Legacy-Tooling.
  • Draft-07 — die am häufigsten verwendete und die empfohlene Standardeinstellung für neue Projekte.
  • Draft-2019-09 — führte $defs und rekursive Referenzen ein.
  • Draft-2020-12 — die neueste Version, mit $dynamicRef und aktualisierten Array-Keywords.

Ein Wechsel der Version aktualisiert die $schema-URL am Anfang der Ausgabe, damit dein Validator die richtigen Regeln lädt. Ein Live-Stats-Badge zeigt die Gesamtzahl der Eigenschaften und die Verschachtelungstiefe an — eine schnelle Kontrolle, ob eine große Payload die erwartete Struktur erzeugt hat.

Ein generiertes Schema ist ein starker Entwurf, kein Gesetz: Typen und Pflichtfelder spiegeln nur ein einziges Beispiel wider, also prüfe Optionalität und verschärfe Constraints anhand deiner echten Daten, bevor du es als API-Vertrag ausrollst. Nutze die integrierte Format-Schaltfläche, um unsauberes Input zu bereinigen, und kopiere oder lade das Ergebnis anschließend als .json-Datei herunter — bereit für deine Validierungsschicht oder OpenAPI-Definition.