ICS Busy/Free
BetaTurn an .ics calendar export into an availability calendar you can share: every busy event becomes a plain Busy block with the same start, end and repeat rule, or one VFREEBUSY list of busy periods. Titles, descriptions, places, links and guests stay behind. On this page, nothing is uploaded.
- Free, no sign-up
- REST + MCP
- Updated
- Reviewed by Olgun Ozoktas
Each busy block keeps its start, end and repeat rule. Titles, descriptions, locations, links, attendees and alarms are removed, and every block gets a new UID.
The availability calendar will appear here.
How to Make an Availability Calendar from an ICS Export
-
Export the calendar
Google Calendar: Settings > Import & export > Export. Apple Calendar: File > Export > Export. Outlook: File > Save Calendar. -
Pick the output
Busy events keeps every event as a Busy block with its repeat rule; VFREEBUSY writes one list of busy periods in UTC. -
Drop the .ics file
The line under the file list says how many events became busy blocks and how many were skipped as cancelled, free or tentative. -
Download the availability .ics and share it, or import it into the calendar you share with others
Common Use Cases
Send a recruiter, client or new colleague a file that shows when you are busy for the next few weeks
Fill a shared team calendar with Busy blocks from your private one
Give an assistant or a partner your availability without your meeting titles and guest lists
Publish a VFREEBUSY file for a scheduling tool that reads free/busy data
Keep a recurring weekly block, such as a standup, busy every week without listing each date
Why Share an Availability File Instead of Your Calendar?
The Busy events output writes one VEVENT for each busy event in the export. Each keeps only its schedule: DTSTART, DTEND or DURATION, RRULE, RDATE, EXDATE, RECURRENCE-ID and DTSTAMP. The title becomes Busy, TRANSP is set to OPAQUE and CLASS to PRIVATE, and every event gets a new random UID; a recurring series and its moved occurrences share one new UID so they stay linked. Descriptions, locations, links, attendees, the organizer, attachments, categories, alarms and vendor X- properties are left behind. The time zone definitions the events use are copied, so the times import exactly as they were.
The VFREEBUSY output writes one VFREEBUSY component, the iCalendar format for free/busy information. Each busy event becomes a FREEBUSY period in UTC, as the format requires, using the time zone each event states; floating and all-day times are read in the calendar's time zone (X-WR-TIMEZONE), or as UTC when the file names none. Overlapping periods of the same kind are joined. VFREEBUSY has no repeat rules, and this page does not expand them, so a recurring event contributes its first occurrence only; the page says how many events that applies to.
Cancelled events are skipped while Drop cancelled is on; events marked free are always skipped; tentative events are included unless you turn them off. A modified occurrence that is skipped is written as an exception date on its series. To-dos and journal entries are not events and are skipped. The page reads the files you drop and never fetches a calendar URL.
How it compares
Calendar apps can share free/busy views, but only inside their own accounts, and a shared link exposes the live calendar rather than a file you control. Rebuilding a Busy calendar by hand takes as long as the calendar is busy. Stripping the details from an export in a text editor means finding every DESCRIPTION, ATTENDEE and URL line in folded text. This page reads the export once and writes an availability file that keeps the times and nothing else.
Busy/Free Tips
- An event marked free (TRANSP:TRANSPARENT), such as a holiday or a reminder, is skipped, because it does not make you busy.
- A cancelled occurrence of a recurring event becomes an exception date (EXDATE) on its series, so that week is not shown as busy either.
- Turn off Include tentative to share only confirmed busy time; when it is on, a tentative event keeps STATUS:TENTATIVE, or FBTYPE=BUSY-TENTATIVE in VFREEBUSY.
- VFREEBUSY joins overlapping periods of the same kind, so two back-to-back meetings become one busy stretch.
- The source calendar's name is not copied, because a Google export names the calendar after the owner's email address; type a name if you want one.