Título, lugar, fecha y hora, zona horaria, repetición, invitados, avisos y notas; después descarga el archivo .ics o ábrelo directamente en tu calendario. También puedes pegar un horario o adjuntar un documento o una foto para crear varios eventos a la vez.

¿Qué es jCal y en qué se diferencia de un archivo .ics?

jCal es iCalendar escrito como JSON, estandarizado como RFC 7265 en 2014. Contiene exactamente los mismos datos que un archivo .ics —las mismas propiedades, parámetros y componentes— en arrays anidados en lugar de objetos, porque un componente puede repetir una propiedad y el orden puede ser importante. Un calendario es ["vcalendar", [propiedades], [componentes]], cada propiedad es [nombre, parámetros, tipoDeValor, valor], de modo que SUMMARY:Standup se convierte en ["summary", {}, "text", "Standup"]. No es lo mismo que schema.org Event en JSON-LD, que describe un evento para los motores de búsqueda y conserva muchos menos datos. ICS Maker escribe .ics y jCal a partir de un único modelo de evento en lugar de convertir entre ambos, de modo que los dos no pueden estar en desacuerdo sobre qué es el evento.

La forma

El RFC 7265 traslada iCalendar a arrays en lugar de objetos, porque el orden y la repetición importan en un calendario y los objetos JSON no ofrecen ninguno de los dos. Un calendario es ["vcalendar", [properties], [components]], y cada propiedad es [name, parameters, valueType, value] —el nombre en minúsculas, los parámetros como un objeto, el tipo uno de los tipos de valor de RFC 5545.

Así, SUMMARY:Standup se convierte en ["summary", {}, "text", "Standup"], y un inicio con zona horaria se convierte en ["dtstart", {"tzid":"Europe/London"}, "date-time", "2026-08-15T09:00:00"]. Las fechas y horas adoptan aquí su forma ISO, no la forma compacta de iCalendar, y la zona horaria pasa a ser un parámetro.

Por qué merece la pena tenerlo

iCalendar es un formato de texto con plegado de líneas, reglas de escape y finales de línea CRLF, y analizarlo correctamente es más trabajo de lo que parece. jCal entrega la misma semántica —zonas horarias, reglas de recurrencia, alarmas, asistentes— a cualquier cosa que ya hable JSON, sin necesidad de escribir un analizador. Esa es una tarea distinta de la de Event de schema.org, que esta página también puede generar: JSON-LD describe un evento para un motor de búsqueda y aplana la mayor parte de lo que necesita un calendario.

Cómo genera esto esta página

Ambos formatos se escriben a partir del mismo evento, no se convierten el uno en el otro. Un conversor heredaría todas las decisiones de escape de la forma en texto, y los valores de jCal están explícitamente sin escapar —JSON aplica su propio entrecomillado. Escribir ambos a partir de un solo modelo significa que no pueden estar en desacuerdo sobre qué es el evento, solo sobre cómo se escribe.

Preguntas

¿Qué es jCal?
jCal es el formato JSON para iCalendar, estandarizado como RFC 7265 en 2014. Representa exactamente los mismos datos que un archivo .ics —las mismas propiedades, parámetros y componentes— usando arrays JSON anidados, de modo que puede convertirse en cualquiera de las dos direcciones sin perder significado.
¿Es jCal lo mismo que JSON-LD o schema.org Event?
No. jCal es una correspondencia completa de iCalendar, por lo que contiene reglas de recurrencia, zonas horarias, alarmas y el estado de participación de los asistentes. schema.org Event en JSON-LD es una descripción de un evento para motores de búsqueda y otros lectores, y deliberadamente conserva muchos menos datos. Este generador produce ambos, a partir del mismo evento.
¿Por qué jCal usa arrays en lugar de objetos?
Porque un componente de calendario puede llevar la misma propiedad más de una vez —varios asistentes, varias fechas de excepción— y el orden puede ser importante. Un objeto JSON indexado por el nombre de la propiedad no podría representar ninguna de las dos cosas, así que el RFC 7265 usa arrays posicionales en su lugar.
¿Qué lee jCal?
Es un formato de nicho, bien soportado en bibliotecas de calendario de JavaScript como ical.js y disponible en varios kits de herramientas de iCalendar del lado del servidor. Las aplicaciones de calendario habituales todavía esperan .ics, así que usa jCal entre tus propios sistemas y entrega a las personas el archivo .ics.