How to Convert ICS to CSV (and CSV to ICS) for Excel, Google Calendar & Outlook
Export an .ics from Google Calendar, Outlook or Apple Calendar, convert it to a CSV that opens in Excel with the right times and Urdu text, and turn a CSV back into an .ics for Google, Outlook or iPhone. Includes a worked example and fixes for shifted times, all-day and recurring events.
Use this guide with
5 ToolsWebPro tools
Open the free tool(s) below and follow the steps in this guide.
- •The short version
- •1. Export an .ics from Google Calendar, Outlook or Apple Calendar
- •2. Convert ICS to CSV step by step
- •Worked example: one calendar, three kinds of event
- •3. Open the CSV in Excel without broken dates or Urdu text
- •4. Convert CSV to ICS and import it into Google Calendar, Outlook or iPhone
- •Common errors: shifted times, all-day events and recurring events
- •Related tools
The short version
An .ics file is the standard calendar format (iCalendar, RFC 5545). Every calendar app can export and import it, but it is plain text written for software, not people: one property per line, long lines folded, commas escaped, and timed events from Google Calendar stored in UTC. A CSV is a table, which is what Excel, Google Sheets and most reporting tools want.
So the job is: export the calendar as .ics, convert it to CSV with the times shown in your own time zone, and open it in Excel. Going the other way, you keep events in a spreadsheet, save it as CSV, convert it to .ics, and import that into Google Calendar, Outlook or an iPhone.
Do both directions in your browser: the ICS to CSV converter turns an .ics into an Excel-ready CSV (times converted, all-day dates fixed, repeat rules written out), and turns a CSV or .xlsx event list into a standard .ics with a row-by-row error report. Nothing is uploaded.
Open the tool:
1. Export an .ics from Google Calendar, Outlook or Apple Calendar
Google Calendar (on a computer; the phone app has no export): to export one calendar, open Settings, click the calendar's name under Settings for my calendars, and in Calendar settings click Export calendar. An .ics of that calendar downloads. To export every calendar at once, open Settings, then Import & export, then Export; you get a ZIP file with one .ics per calendar, so unzip it first.
Outlook (classic Outlook for Windows): open the calendar, then File, Save Calendar. Click More Options to pick the date range and how much detail to include, then save the .ics. Classic Outlook can also export a calendar straight to CSV through File, Open & Export, Import/Export, Export to a file, Comma Separated Values, but the times come out exactly as stored, with no time zone column.
Outlook on the web and the new Outlook don't have a Save Calendar button. The usual route is to publish the calendar (Settings, Calendar, Shared calendars, Publish a calendar), copy the ICS link, open it in a browser to download the .ics, and unpublish the calendar again afterwards if you don't want the link to stay live.
Apple Calendar on a Mac: select the calendar in the sidebar, then choose File, Export, Export, and save the .ics. An iPhone has no export option. Export from a Mac signed in to the same iCloud account, or share the calendar publicly at iCloud.com, copy the link, change webcal:// to https:// and open it in a browser to download the .ics, then turn public sharing off.
2. Convert ICS to CSV step by step
- Open the ICS to CSV converter and leave the ICS → CSV tab selected.
- Upload the .ics (or paste its text). The converter shows how many events it found and the calendar name, if the file has one.
- Under Show times in, keep your own time zone (the converter starts with your device's zone) or pick another. Choose Keep each time as written only if you want the raw times from the file.
- Pick a date format. 2026-10-14 is the safest for Excel because every regional setting reads it the same way. 10/14/2026 matches Google Calendar's and Outlook's CSV import.
- Choose columns, or click a preset: Excel-friendly adds Time Zone and Repeats, Google Calendar CSV matches Google's import layout, and Every column adds the organizer, attendees, status, categories, URL and UID.
- Check the preview table and any notes under it, then click Download CSV.
Open the tool:
Worked example: one calendar, three kinds of event
Here is the converter's built-in sample, trimmed to the lines that matter. It has a meeting stored with a time zone, a weekly standup stored in UTC the way Google exports it, and an all-day holiday. Converted with Show times in set to Asia/Karachi and the Google Calendar CSV preset, it becomes the CSV in the table after the three events.
- DTSTART;TZID=Asia/Karachi:20261014T160000 and DTEND;TZID=Asia/Karachi:20261014T170000, SUMMARY:Parent-teacher meeting, LOCATION:Room 12\, City School\, Lahore
- DTSTART:20261005T050000Z and DTEND:20261005T053000Z, RRULE:FREQ=WEEKLY;BYDAY=MO;COUNT=10, SUMMARY:Weekly team standup
- DTSTART;VALUE=DATE:20261225 and DTEND;VALUE=DATE:20261226, SUMMARY:Quaid-e-Azam Day (office closed)
| Subject | Start Date | Start Time | End Date | End Time | All Day Event | Location |
|---|---|---|---|---|---|---|
| Weekly team standup | 10/05/2026 | 10:00 AM | 10/05/2026 | 10:30 AM | False | Google Meet |
| Parent-teacher meeting | 10/14/2026 | 4:00 PM | 10/14/2026 | 5:00 PM | False | Room 12, City School, Lahore |
| Quaid-e-Azam Day (office closed) | 12/25/2026 | 12/25/2026 | True |
Three things changed on the way. The standup's 05:00 UTC became 10:00 AM because Pakistan is five hours ahead of UTC. The escaped commas in the location (\,) became normal commas. And the holiday's end date is 25 December, not the 26 December written in DTEND, because ICS end dates for all-day events are exclusive. Rows are sorted by start time, and the standup's repeat rule goes in the Repeats and RRULE columns if you tick them.
3. Open the CSV in Excel without broken dates or Urdu text
Double-clicking a CSV makes Excel guess two things: the text encoding and the date order. Both guesses go wrong often enough to be worth avoiding.
- Encoding: Excel only recognises a CSV as UTF-8 when the file starts with a byte-order mark (BOM). Without it, Urdu titles such as خاندانی دعوت and accented names turn into strings like خان. The converter adds the BOM by default (the UTF-8 with BOM option).
- Date order: a computer set to English (Pakistan), English (UK) or English (India) reads 05/10/2026 as 5 October, while US settings read it as 10 May, and 10/14/2026 stays as text because there is no month 14. Use the 2026-10-14 format and Excel reads every date correctly in any region.
- Separator: in countries where the decimal mark is a comma, Excel expects semicolons between columns. If everything lands in column A, download again with Semicolon selected.
- Line breaks: descriptions with several lines stay inside one cell because the field is quoted. If another app splits them into extra rows, tick Put multi-line descriptions on one line.
- Formulas: a title that starts with = or @ could be run as a formula when the file is opened. The converter puts an apostrophe in front of such cells unless you turn that option off.
If you'd rather control the import, open a blank workbook and use Data, From Text/CSV, set File Origin to 65001: Unicode (UTF-8), check the preview and click Load. In Google Sheets, File, Import, Upload reads UTF-8 correctly without any extra step.
4. Convert CSV to ICS and import it into Google Calendar, Outlook or iPhone
Start with one event per row and a header row. The easiest layout is the one Google Calendar uses for CSV imports: Subject, Start Date, Start Time, End Date, End Time, All Day Event, Description, Location. The converter's Template button downloads that layout with sample rows. Outlook's CSV export uses the same main column names, so an Outlook CSV works as it is.
If a source CSV appears as one column or uses a different separator, prepare it with the CSV delimiter and format fixer before mapping events. Choose any date columns and their source order explicitly, and leave identifiers as text. The fixer changes selected table formats; it does not assign calendar time zones.
- Open the CSV / Excel → ICS tab of the converter and upload the .csv or .xlsx (or paste rows from a sheet).
- Check the column mapping. A start date column that already includes the time, such as 10/14/2026 4:00 PM or 2026-10-14T16:00, works without a separate time column. A row with a date and no times becomes an all-day event.
- Set the date order if your sheet uses day/month/year (14/10/2026). Detect reads 14/10/2026 correctly because there is no month 14, but 05/10/2026 is read as month/day unless you choose Day/Month/Year, and the converter warns you when it had to guess.
- Choose the time zone the sheet is written in. Keep Fixed time (UTC) selected so every app shows each event at the right moment.
- Read Skipped rows and notes. Each entry gives the spreadsheet row number and the reason, such as an unreadable date or an end before the start. Fix the sheet and upload it again, or download the .ics as it is.
Google Calendar (computer only): Settings, Import & export, Import, select the .ics, choose the calendar to add the events to, then Import. Google also accepts the CSV itself here, so for Google alone the .ics step is optional.
Outlook: in classic Outlook for Windows, use File, Open & Export, Import/Export, Import an iCalendar (.ics) or vCalendar file, select the file and click Import (Open as New creates a separate calendar instead). In Outlook on the web or the new Outlook, go to Calendar, Add calendar, Upload from file, choose the .ics and the calendar, then Import.
iPhone and iPad: email the .ics to yourself, tap the attachment in Mail and tap Add All, then pick the calendar. On a Mac, File, Import in Apple Calendar adds the events to an iCloud calendar that syncs to your iPhone. Apple Calendar doesn't import CSV, which is the main reason to convert to .ics.
Tip: import into a new, empty calendar first. If something looks wrong, delete that one calendar instead of hunting down dozens of events, and importing the same file twice won't clutter your main calendar.
Open the tool:
Common errors: shifted times, all-day events and recurring events
| Problem | Why it happens | Fix |
|---|---|---|
| Times in the CSV are several hours off | Google exports timed events in UTC (ending in Z) and the converter copied them without converting | Convert to your own time zone and check the Time Zone column |
| Imported events are hours early or late | The CSV had local times but the importing app assumed a different zone, or the .ics used floating times on a device in another zone | Set the sheet's time zone in the converter and keep Fixed time (UTC) output |
| An event lands an hour off around March or November | Daylight saving time changed between the two dates in a zone that uses it | Use a real zone name such as Europe/London rather than a fixed offset; the converter handles the change |
| All-day events end a day late, or start the day before | ICS end dates for all-day events are exclusive, or an all-day event was saved as 00:00 to 00:00 UTC and then shifted by time zone | Keep All Day Event as True; the converter subtracts the extra day in CSV and adds it back in .ics |
| A weekly meeting appears only once | The repeat rule (RRULE) belongs to one event; CSV has no standard repeat column and Google's CSV import ignores one | Keep the RRULE column and convert back to .ics, or add the repeat in the calendar app after importing |
| Some events are missing after CSV → ICS | Rows had an unreadable date, a start time like lunch, or an end before the start | Read the skipped-rows list and fix those cells |
| Excel shows ### or a number like 46309 instead of a date | The column is too narrow, or the cell is formatted as a number | Widen the column or format it as Date; the converter reads Excel date numbers when converting back to .ics |
Frequently asked questions
Can Excel open an .ics file directly?
Not usefully. Excel will show the raw iCalendar text, one property per line, with folded lines and UTC times. Convert the .ics to CSV first so each event is one row with readable dates and times.
Why do my event times change after converting ICS to CSV?
Google Calendar exports timed events in UTC (the time ends in Z). A converter that copies that time without converting it shows a 4:00 PM Karachi meeting as 11:00. Convert the times to your own time zone, as the ToolsWebPro converter does by default, and check the Time Zone column.
Why does an all-day event end one day later in the .ics file?
In iCalendar the end date of an all-day event is exclusive, so a one-day holiday on 25 December is stored as DTSTART 20261225 and DTEND 20261226. A good converter shows the real last day in the CSV and adds the extra day back when it writes an .ics.
Do recurring events come out as separate rows?
No. A recurring event is one entry in the .ics with a repeat rule (RRULE), so it becomes one row with its first date. The ToolsWebPro converter adds the rule and a plain-English version such as Weekly on Monday, 10 times, so you can see that it repeats.
Can I import a CSV into Google Calendar without converting it to ICS?
Yes. Google Calendar imports CSV files on a computer, using columns such as Subject, Start Date, Start Time, End Date, End Time, All Day Event, Description and Location. You need an .ics for Apple Calendar or an iPhone, to share one file with other people, or to fix the time zone of the events.
Is it safe to convert a work calendar online?
Calendars often hold client names, meeting links and private notes, so use a converter that runs in your browser. The ToolsWebPro ICS to CSV converter reads the file on your device and never uploads it.
Convert your calendar to CSV, or your sheet to .ics
Upload an .ics or a CSV/Excel file, check the time zone and columns, and download the converted file. Runs in your browser; nothing is uploaded.
Muhammad Saqlain
Cybersecurity Practitioner & Lead EngineerSecurity researcher, web developer, and founder of ToolsWebPro. Tests password entropy, GPU cracking speeds, and client-side encryption systems.
Read full author bio & credentials →Related ToolsWebPro tools
Open the free tool(s) for this guide — no signup required.
- ICS to CSV ConverterInspect calendar events in a spreadsheet or map a CSV/XLSX schedule into an ICS file, with a preview before export.
- CSV Delimiter Converter & Format FixerChange a CSV separator and review number or date changes column by column before downloading the result.
- ICS File CreatorCreate one calendar event, preview its .ics text, and download a file to import into your calendar app.
- CSV to VCF ConverterConvert an Excel or CSV contact list into one .vcf file for iPhone, Android or Google Contacts, or turn a VCF back into CSV. Runs in your browser.
- Invoice GeneratorFree invoice generator online: create professional PDF invoices with logo, tax, and line items — no signup, no watermark, private in your browser.
More from ToolsWebPro