ICS Calendar to Excel / CSV Converter
Calendar events in a spreadsheet — for timesheets, billing and bulk imports.
Try before you buy.
- Free preview: the counts and the first rows of the events and of the hours by title (up to 10), or the first lines of the calendar file made from your table (up to 20).
- Locked until you unlock it: download and copy.
- Unlock: Pro pass, ₹179 for 30 days or ₹79 for 1 week, a one-time payment that never renews. Unlock: Pro pass, $5.99 for 30 days or $2.99 for 1 week, a one-time payment that never renews.
Ways to unlock shows how to get the full result.
Printing this result is locked in the free preview.
1. Calendar files
2. Range and time zone
3. Events
Hours by title
| Title | Events | Hours | All-day days |
|---|
1. Events table
One event per row: a title, a start date (and time), an end or a duration. Google Calendar and Outlook CSV columns are recognised.
Or paste the table (from Excel, Google Sheets or a CSV)
2. Columns
| Your column | Example | Holds |
|---|
3. Calendar file
Locked in the free preview. Opens the ways to unlock this result.
Locked in the free preview. Batch runs unlock with a pass.
Locked in the free preview. Query results unlock with a pass.
About the ICS Calendar to Excel / CSV Converter
Turn a calendar export — the .ics file that Google Calendar, Apple Calendar, Outlook and most other calendar programs make — into a spreadsheet: one row per event with its title, start and end in the time zone you choose, the duration in hours, the location, the organizer and attendees, categories and status. Repeating events are expanded over the date range you pick, with skipped occurrences left out and moved ones in their new place, so a month of meetings becomes a month of rows. A totals table adds up the hours per title — handy for timesheets, client billing and time audits.
It also works the other way: open a CSV or Excel sheet of events (a title, a date and time, an end or a duration) and, with a pass, download an .ics file to import into any calendar in one go, with the time zone written properly and optional reminders. The files are read and written in your browser; nothing is uploaded.
Without a pass, the free preview shows the first rows of the events and of the totals; the CSV, Excel and .ics files and the copy unlock with a Pro pass.
How to use it
- Drop your calendar’s .ics export here (in Google Calendar: Settings and sharing → Export calendar) — several can be combined — or paste the calendar text. Example loads a small sample.
- Choose the date range (or a quick range such as Last month) and the time zone the times should be written in. Repeating events without an end are listed up to a year ahead unless you choose otherwise.
- Check the preview and the totals per title, then — with a pass, or after unlocking this result — download CSV or Excel (with real dates and times, and a Totals sheet), or copy the table into a spreadsheet.
- To make a calendar from a sheet, choose Excel / CSV → calendar, open the sheet, check what each column holds, pick the time zone and, with a pass, download the .ics. Import it with your calendar’s import command.
Examples
DTSTART;TZID=Europe/London:20260302T093000 DTEND;TZID=Europe/London:20260302T094500 RRULE:FREQ=WEEKLY;BYDAY=MO,WE,FR;COUNT=12 EXDATE;TZID=Europe/London:20260311T093000
11 rows from 2026-03-02 to 2026-03-27, 09:30–09:45 each, 0.25 hours each — 11 March is skipped.
DTSTART;TZID=America/New_York:20260310T110000 DURATION:PT1H30M
Start 2026-03-10 15:00, end 16:30 (London), duration 1.50 hours / 1:30.
New York has already moved its clocks forward on 8 March; London moves on 29 March, so the gap between them is four hours that week instead of five.
Subject, Start Date, Start Time, End Time, Reminder Dentist, 2026-03-18, 15:30, 16:15, 60
DTSTART;TZID=Europe/London:20260318T153000 DTEND;TZID=Europe/London:20260318T161500 SUMMARY:Dentist TRIGGER:-PT60M
Common uses
- Timesheets and client billing: hours spent in meetings per client, project or category for a month or a year.
- Auditing a calendar: all events of a team or a meeting room in a spreadsheet to sort, filter and share.
- Moving events between programs that cannot sync with each other.
- Bulk-adding events — a term timetable, a shift rota, a list of deadlines — from a spreadsheet to Google, Apple or Outlook.
Repeating events
Recurrence rules are expanded as RFC 5545 defines them: every frequency (yearly to secondly), INTERVAL, COUNT and UNTIL, and the BYMONTH, BYWEEKNO, BYYEARDAY, BYMONTHDAY, BYDAY (such as the first Friday or the last Sunday), BYHOUR, BYMINUTE, BYSECOND, BYSETPOS and WKST parts — the expansion is tested against every example in the RFC. Extra dates (RDATE) are added, excluded dates (EXDATE) left out, and single occurrences that were moved or changed (RECURRENCE-ID) appear in their new place, marked Yes (changed). Occurrences keep their local time when the clocks change: a 09:00 meeting stays at 09:00. Only occurrences that start within the range are listed.
Time zones
Times are converted with your browser’s copy of the IANA time-zone database. Time zones are recognised as calendar programs write them: IANA names (Europe/Berlin), the Windows names Outlook and Exchange use (W. Europe Standard Time, India Standard Time — mapped with the Unicode CLDR table), Outlook display names ((UTC+05:30) Chennai, Kolkata …), vendor paths that end in an IANA name, fixed offsets, and custom VTIMEZONE definitions inside the file. Times without a zone use the calendar’s X-WR-TIMEZONE when it has one. A time that does not exist on the night the clocks go forward is read as the later time, and one that happens twice when they go back as the first of the two, as RFC 5545 requires.
All-day events and durations
All-day events have no times; their End date is the last day of the event (an .ics file stores the day after), and they count as 24 hours a day in the Duration column but are kept apart in the totals (all-day days). Timed events get their duration in decimal hours (1.50) and as h:mm (1:30); in Excel both are real numbers, and dates and times are real date and time cells.
From a spreadsheet to a calendar
Columns are recognised by their headings — including the ones in Google Calendar’s CSV import format and Outlook’s CSV export: Subject, Start Date, Start Time, End Date, End Time, All Day Event, Description, Location, Categories, Required Attendees, Show time as. Dates may be written 2026-03-18, 18/03/2026 or 03/18/2026 (you choose the order), 18 Mar 2026, or come from Excel date cells (two-digit years 00–69 are 2000–2069, 70–99 are 1970–1999); durations as 1:30, 90m, 1.5h or PT1H30M; reminders in minutes. In a sheet the end date of an all-day event is its last day. Rows that cannot be used are listed with the reason and left out; a time that does not exist (the clocks go forward) is moved to the real time and noted. Each event gets a stable UID, so importing the same file twice does not duplicate events in programs that check UIDs. Times are written with their time zone and a VTIMEZONE definition (or in UTC, if you choose).
Importing the .ics file
- Google Calendar (on a computer): Settings → Import & export → Select file from your computer, then choose the calendar. (Google’s help)
- Apple Calendar on a Mac: File → Import, select the file, then choose the calendar. (Apple’s guide)
- Outlook (classic): File → Open & Export → Import/Export → Import an iCalendar (.ics) or vCalendar file. (Microsoft’s help)
Limitations
- Files up to 50 MB each; one repeating event yields at most 20,000 occurrences in a range.
- Events (VEVENT) are converted; to-dos, journal entries and busy-time blocks (VFREEBUSY) are not. Alarms are not exported to the sheet.
- Rules from newer extensions such as RSCALE (non-Gregorian calendars) are not supported.
- Times in time zones the browser does not know and the file does not define are written as they are, without conversion (the page says so).
Privacy
On this device: nothing is sent
Everything happens in your browser. What you enter or open here is not uploaded or stored by MySmartCoPilot.
Frequently asked questions
What do I get without a pass?
Without a pass, ICS Calendar to Excel / CSV Converter shows the counts and the first rows of the events and of the hours by title (up to 10), or the first lines of the calendar file made from your table (up to 20). Until you unlock it, the result can’t be downloaded or copied. A Pro, Premium or Ultimate pass, a one-time payment that never renews, unlocks the full result. The pricing page lists the passes and their prices.
How do I export Google Calendar to Excel?
In Google Calendar on a computer, open Settings and sharing for the calendar and choose Export calendar: an .ics file downloads. (Exporting every calendar at once, under Settings → Import & export, gives a .zip of .ics files: extract it first.) Drop the .ics here, choose the date range and time zone, and, with a pass, download Excel. (Google’s help on exporting)
Are repeating events included?
Yes. Every occurrence that starts within the range becomes its own row, with skipped dates left out and moved occurrences at their new time. Choose a date range for timesheets; without one, repeating events with no end are listed up to a year from today.
Why are the times different from what my calendar shows?
The sheet uses the time zone chosen under Times in the time zone, which starts as your device’s. If your calendar shows another zone, choose that one — for example the client’s zone for billing.
How do I add up the hours I spent in meetings?
Choose the range (such as Last month) and open Hours by title: each title gets the number of events and the total hours. The Excel download has the same table on a Totals sheet, and the Duration (hours) column can be summed directly.
Can I make an .ics file from Excel?
Yes. Choose Excel / CSV → calendar, open the sheet, check the Holds column for each of your columns (title, start, end or duration …), choose the time zone and download the .ics file with a pass.
Is my calendar uploaded?
No. The files are read and converted by this page in your browser, and the downloads are made there too.