November 24, 2016 - Technic

Free ICS to CSV converter

Privacy Notes

Please do not use the service, if you don't accept the following:

  • When debugging, I log geolocation and the size of the original ics file.

If You Do Choose To Convert

  • To protect the privacy of your data, the converted file has a generic title.
  • You will be prompted to save it on your machine as soon as conversion completes.
  • Data encryption (https) is enabled.
  • I don't keep copies of your ics files.
  • I don't collect or resale your events' information.
  • This is a private hobby and I don't receive any financial benefits.

Please select your ics file(s) to be converted in csv.

Or enter its URL hereafter

Include Columns

DUE (required for Reminder Events)

Additional Options

Repeats (until the end of next year)
Do not convert UTC times

Conversion Notes

You may select a separator, the desired date format and how time in events should be handled. If you don't need all possible columns from the calendar file, you can omit them. This makes the conversion quicker and the resulting csv file smaller.

  • Comma separated csv files open easily in EXCEL.
  • Tab separated csv files are easier to be viewed in simple text editors.
  • Converted file will be a double quoted in Unicode (UTF-8) text file, ending in '.csv'.

Feel free to send your issues or feedback hereto…

BMC logo Buy me a coffee

147446 files converted so far…
Last modified on: December 2019

Last Changes

  • Inserted an option to convert files by their URL. Currently it only converts URLs containing the 'ics' string. Please contact me, if it should also work for other endings.
  • Increased the limit for Repeats by one year. Thanks Jacque for asking this.
  • Sometimes, sorting the rows by their DTSTART didn't work. This should be fixed now.
  • Some Repetition rules without INTERVAL would cause the conversion to stall. This is fixed now. Thanks Corné for sending me your ics file to debug the issue.
  • Better RRULES logging in the Notes by disabled 'Repeats (until the end of this year)' option.
  • Custom repetition rules such as every 2 week on Monday and Thursday would create repetitions for the weeks but only for the first day in the rule. Conversion now creates repeats on all possible days and skips weeks as required.
  • Custom repetition rules such as every 2 month on the 3rd Thursday of the month wouldn't create repetitions. Conversion now creates repeats. Thanks Lisa Marie for reporting it.
  • Sometimes, the LOCATION wasn't correctly converted and it showed in the CSV as "False". This should be now working better.
  • New option: 'Do not convert UTC times' which leaves UTC times as they have. Suggested by Eric.
  • WEEKLY BYDAY events starting in past years were sometimes off.
  • You can now optionally also output the UID of the event. Thanks Levin for suggesting it.
  • EXDATE entries (excluded dates in repeat rules) are not supported.
  • Repetition rules BYDAY, BYMONTHDAY are now also supported.
  • Better sorting, even when outputting additional rows due to repetition rules.
  • Better calendar name detection.
  • Now omitting the X-LOTUS-UPDATE-SEQ property which was erroneously outputted sometimes in the 'Location' column.
  • Removed time zone acronyms (such as CDT, CEST, BST, EDT …) from times. Importing into EXCEL should be easier now.
  • Some ongoing conversion issues for UTC times to the calendar's timezone are now solved. Thanks Ron for pointing this out.
  • DTEND PM times on rows created due to repetition riles could sometimes be off. This is now hopefully working better in most of the cases.
  • Repetition rules without INTERVAL would produce identical events with wrong times. Conversion now assumes in such cases that the INTERVAL equals 1.
  • Repetition rule options such as BYDAY, BYMONTHDAY are now also respected.
  • The converter now respects repetition rules. By a selected 'Repeats (until the end of this year)', events with repetition rules will be outputted in extra rows. To avoid endless loop, rules without an explicit end date, will stop at the end of the current year. Thanks David and Hiroshi for asking this feature :-)
  • The CALENDAR column outputs now the CALENDAR name incase it is included in the ics file. If not, the ics file name will be outputted.
  • Sometimes a correct otherwise converted file if inserted into EXCEL, would show NOTES in more than one columns of data. To avoid EXCEL mixing up the separator with colons or quotes contained in the text, I inserted pipe (also known as vertical bar/line) as new type of separator. Select the "|" separator before converting and when importing the csv into EXCEL.
  • Sometimes the URL was outputted in more than one rows of data. This is now hopefully working better in most of the cases.
  • You can now optionally also output the name of the Calendar.ics file in a CALENDAR column of the todos. Thanks Hiroshi for your suggestion :-)
  • You can now select more than one ics files to be converted at once. Please note that this surely takes longer when having selected many files containing many events. Thanks Marco C. for suggesting it :-)
  • You can now define the name of the csv file if you call the converter by customName (example:
  • Data encryption (https) is now enabled.
  • Repetition rules were ignored. First step; should there be any repetition rules, the rule will now appear in the Notes column. Thanks David for asking for this feature :-)
  • Better handling of events with alert settings.
  • The converter was always expecting a DTEND with a specific value in the events data. So end dates could be off if converting an ics with some events without an end date. This is now solved. Thanks Marco P. for finding it :-)
  • Sometimes the ATTENDEES would get outputted in more than one rows of data. This is now hopefully working better in most of the cases.
  • Sometimes the text in the NOTES would get outputted in more than one rows of data. This is now hopefully working better in most of the cases.
  • Events without a SUMMARY value would result in wrong event dates to following events. Those events are now listed as untitled and their dates or those of following events are now correct.
  • You can now omit some columns' conversion if you don't need them in the csv file.
  • Events scheduled on the same date are not anymore ommitted while sorted.
  • Events of calendars with language definition in the SUMMARY are now converted.
  • Now omitting the TRUE X-MS-OLK-FORCEINSPECTOROPEN property which was erroneously outputted sometimes in the 'Location' column.
  • Events are now sorted by 'Start' date (DTSTART).
  • HTML in 'Description' defined by X-ALT-DESC;FMTTYPE=text/html: was not stripped. Now only the plain text in 'Description' gets converted.
  • PM or AM for 12-hour clock times is now perserved when splitting date and time.
  • Better 'Description' handling for formatted QUOTED-PRINTABLE cases.
  • 'Priority' column for reminder events is now also supported.