Titel, Ort, Datum und Uhrzeit, Zeitzone, Wiederholung, Eingeladene, Erinnerungen und Notizen — laden Sie dann die .ics-Datei herunter oder öffnen Sie sie direkt in Ihrem Kalender. Sie können auch einen Terminplan einfügen oder ein Dokument oder Foto anhängen, um mehrere Termine auf einmal zu erstellen.

Was ist jCal, und wie unterscheidet es sich von einer .ics-Datei?

jCal ist iCalendar, geschrieben als JSON, standardisiert als RFC 7265 im Jahr 2014. Es enthält exakt dieselben Daten wie eine .ics-Datei — dieselben Eigenschaften, Parameter und Komponenten — in verschachtelten Arrays statt Objekten, weil eine Komponente eine Eigenschaft wiederholen kann und die Reihenfolge von Bedeutung sein kann. Ein Kalender ist ["vcalendar", [Eigenschaften], [Komponenten]], jede Eigenschaft ist [Name, Parameter, Werttyp, Wert], sodass aus SUMMARY:Standup ["summary", {}, "text", "Standup"] wird. Das ist nicht dasselbe wie schema.org Event in JSON-LD, das einen Termin für Suchmaschinen beschreibt und davon deutlich weniger erfasst. ICS Maker schreibt .ics und jCal aus einem einzigen Terminmodell, statt zwischen beiden zu konvertieren, sodass die beiden nicht widersprüchlich darüber sein können, was der Termin ist.

Die Struktur

RFC 7265 bildet iCalendar auf Arrays statt auf Objekte ab, weil Reihenfolge und Wiederholung in einem Kalender wichtig sind und JSON-Objekte beides nicht bieten. Ein Kalender ist ["vcalendar", [properties], [components]], und jede Eigenschaft ist [name, parameters, valueType, value] — der Name in Kleinbuchstaben, die Parameter ein Objekt, der Typ einer der RFC-5545-Werttypen.

So wird aus SUMMARY:Standup ["summary", {}, "text", "Standup"], und ein zeitzonenbezogener Start wird zu ["dtstart", {"tzid":"Europe/London"}, "date-time", "2026-08-15T09:00:00"]. Datum-Zeit-Werte verwenden hier ihre ISO-Schreibweise, nicht die kompakte Schreibweise von iCalendar, und die Zeitzone wandert in einen Parameter.

Warum es sich lohnt

iCalendar ist ein Textformat mit Zeilenfaltung, Escaping-Regeln und CRLF-Zeilenenden, und es korrekt zu parsen ist aufwendiger, als es aussieht. jCal übergibt dieselbe Semantik — Zeitzonen, Wiederholungsregeln, Erinnerungen, Teilnehmer — an alles, was bereits JSON spricht, ganz ohne einen Parser schreiben zu müssen. Das ist eine andere Aufgabe als das Event von schema.org, das diese Seite ebenfalls erzeugen kann: JSON-LD beschreibt einen Termin für eine Suchmaschine und lässt das meiste von dem weg, was ein Kalender braucht.

Wie diese Seite es erzeugt

Beide Formate werden aus demselben Termin geschrieben, nicht ineinander umgewandelt. Ein Konverter würde jede Escaping-Entscheidung von der Textform übernehmen, und jCal-Werte sind ausdrücklich nicht escaped — JSON übernimmt sein eigenes Quoting. Beide aus einem Modell zu schreiben bedeutet, dass sie sich nicht darüber widersprechen können, was der Termin ist, sondern nur darüber, wie er geschrieben wird.

Fragen

Was ist jCal?
jCal ist das JSON-Format für iCalendar, standardisiert als RFC 7265 im Jahr 2014. Es stellt exakt dieselben Daten wie eine .ics-Datei dar — dieselben Eigenschaften, Parameter und Komponenten — mithilfe verschachtelter JSON-Arrays, sodass es in beide Richtungen ohne Bedeutungsverlust konvertiert werden kann.
Ist jCal dasselbe wie JSON-LD oder schema.org Event?
Nein. jCal ist eine vollständige Abbildung von iCalendar und enthält daher Wiederholungsregeln, Zeitzonen, Erinnerungen und den Teilnahmestatus von Teilnehmern. schema.org Event in JSON-LD ist eine Beschreibung eines Termins für Suchmaschinen und andere Leser und erfasst absichtlich deutlich weniger. Dieser Builder erzeugt beides aus demselben Termin.
Warum verwendet jCal Arrays statt Objekte?
Weil eine Kalenderkomponente dieselbe Eigenschaft mehr als einmal enthalten kann — mehrere Teilnehmer, mehrere Ausnahmedaten — und die Reihenfolge von Bedeutung sein kann. Ein nach Eigenschaftsname geordnetes JSON-Objekt könnte keines von beidem darstellen, daher verwendet RFC 7265 stattdessen positionsbasierte Arrays.
Was liest jCal?
Es ist ein Nischenformat, das in JavaScript-Kalenderbibliotheken wie ical.js gut unterstützt wird und in mehreren serverseitigen iCalendar-Toolkits verfügbar ist. Gängige Kalenderanwendungen erwarten weiterhin .ics, verwenden Sie jCal daher zwischen Ihren eigenen Systemen und geben Sie anderen die .ics-Datei.