¿Qué es un archivo ICS? La invitación de calendario, por dentro

Docs Nov 1, 2026 5 min read

Un archivo ICS es un evento de calendario escrito en texto plano. Llega como adjunto de correo, está detrás de cada botón de «añadir al calendario» y es la razón de que una invitación pueda aparecer en tu calendario cuando quien la envía usa un software totalmente distinto al tuyo.

Renombra uno a .txt y ábrelo: el contenido es legible, y casi todos los problemas de calendario que sufre la gente se ven ahí dentro.

Qué aspecto tiene por dentro

BEGIN:VCALENDAR
METHOD:REQUEST
BEGIN:VEVENT
UID:[email protected]
DTSTART;TZID=Europe/Madrid:20261110T140000
DTEND;TZID=Europe/Madrid:20261110T150000
SUMMARY:Revisión del proyecto
LOCATION:Sala 3
END:VEVENT
END:VCALENDAR

UID: por qué reprogramar no crea un duplicado

Cada evento lleva un UID, un identificador único que no cambia durante toda la vida de ese evento.

Cuando una reunión se mueve, el software del organizador envía un nuevo ICS con el mismo UID y un número de secuencia mayor. Tu calendario reconoce que es el mismo evento y actualiza la entrada existente en vez de añadir otra.

Por eso aparecen los eventos duplicados. Si una herramienta genera un UID nuevo cada vez que exporta — algunos sistemas de reservas y los enlaces «añadir al calendario» de los boletines lo hacen — cada actualización llega como un evento nuevo y acabas con tres copias de una reunión. Los duplicados no son un fallo de tu calendario: le dijeron que eran eventos distintos.

METHOD: por qué algunas invitaciones tienen botones

Así que cuando una invitación llega como adjunto sin botones de respuesta, suele ser un archivo PUBLISH, o un REQUEST reenviado de una forma que perdió su condición de invitación. Aceptarlo añade el evento a tu calendario pero no le dice nada al organizador, y así es como alguien aparece como que no ha respondido a una reunión a la que piensa asistir.

Zonas horarias: la causa de casi toda hora equivocada

Cuando una reunión cae en el calendario con horas de diferencia, casi siempre es por esto. La otra variante común es un evento exportado desde un sistema cuya propia configuración de zona era incorrecta: entonces el archivo es coherente consigo mismo y uniformemente erróneo.

Los eventos de todo el día tienen su propia versión. Uno correcto se escribe como una fecha sin hora (DTSTART;VALUE=DATE:20261110). Escrito como una hora — medianoche en alguna zona — se desplaza al día anterior o siguiente para quien esté lo bastante al este u oeste. Por eso un cumpleaños a veces cae en la fecha equivocada.

Eventos recurrentes y cambiar solo uno

Una reunión semanal no se guarda como cincuenta y dos eventos. Es un evento más una regla:

RRULE:FREQ=WEEKLY;BYDAY=MO;COUNT=52

El calendario genera las repeticiones desde esa regla. Dos líneas más manejan las excepciones que todo horario real produce: EXDATE borra una repetición, y un evento aparte con RECURRENCE-ID sustituye una — el mecanismo tras «la reunión de esta semana se pasa al martes» sin tocar el resto de la serie.

El soporte de estas excepciones varía entre programas, por eso una repetición modificada a veces revierte o aparece dos veces cuando una serie pasa de un sistema a otro.

Importar frente a suscribirse: la distinción que más importa

Importar un ICS copia los eventos en tu calendario una vez. Pasan a ser tuyos, puedes editarlos y están congelados. Si la fuente cambia, no ocurre nada: tu copia sigue igual.

Suscribirse a una URL ICS mantiene un enlace. Tu calendario vuelve a descargar el archivo periódicamente y los cambios del origen aparecen. No puedes editar los eventos porque en realidad no son tuyos.

Casi todo el mundo cae en esto alguna vez: un horario de clases, un calendario de partidos o la agenda compartida de un equipo se importa, la organización cambia luego varias fechas y el calendario sigue mostrando en silencio las antiguas. Nada te avisa, porque desde el punto de vista del calendario no ha fallado nada.

La regla es simple. Si la fuente va a seguir cambiando, suscríbete. Si es un evento puntual, impórtalo. Los enlaces de suscripción suelen ser una URL terminada en .ics, a veces empezando por webcal://, que es lo mismo dirigido a una app de calendario.

Un matiz: los calendarios suscritos se actualizan según el propio horario de la aplicación, que puede ser de varias horas o incluso un día.

Referencia rápida

Resuelve tu problema de archivos: Conversor de PDF Pruébalo gratis — Conversor de PDF →