creatorvalet

ICS to CSV

Every event in the file as a row you can sort, filter and total — with a straight answer about which timezone each time is really in.

Runs in your browser0 bytes uploaded

Drop an .ics file here

Nothing is uploaded. The file is read in this tab.

Both routes give the same table. Pasting is the quicker one when the calendar arrived as text in a message rather than as an attachment.

Can you convert ICS to CSV?

You can, and the whole job takes about four seconds. Hand over the file, tick the fields you want as columns, and a table appears that you can paste into a spreadsheet or save as a download. Six events or six hundred, the work is identical; the count in the receipt tells you which you are holding.

The reason to bother is that a calendar file is a terrible thing to read and a spreadsheet is a good one. Once the appointments are rows you can sort them by date, filter out the cancelled ones, count how many hours a conference actually runs, or hand the lot to somebody in accounts who has never heard of iCalendar and never needs to.

Choosing what ends up in the columns

A single appointment in one of these files carries fifteen or so fields, and almost nobody wants all fifteen. So the picker lists every one of them, ticks a sensible seven to start with, and shows how many of your appointments genuinely have something in each — four out of six with a location, one out of six with a repeat rule, none at all with a web address.

That last figure matters more than it sounds. Most converters emit a fixed set of headings whether or not there is anything underneath them, and you end up scrolling past four blank columns forever. Here a field that is empty in every appointment is marked as empty and left unticked, though you can tick it anyway if you want the heading present for a later import.

The timezone question, which is where these go wrong

A spreadsheet cell holds one thing. A calendar file can record a start in four different ways, and only two of them survive being flattened without losing their meaning.

An hour ending in Z is universal time — a fixed point on the world clock. An hour tagged with a city is anchored too, just expressed on that city's clock. Both of those can be restated in whatever zone suits you, and the tool will do it per appointment, so a summer date and a winter date get the offsets they each deserve rather than one blanket adjustment.

The third kind names no zone whatsoever. Such an entry means the hour written, read on whichever clock the reader happens to own, so it lands at a different instant for a person in Denver than for a person in Dublin. There is no point of reference in it, which means there is nothing to recalculate, and these values are copied across untouched no matter which option you choose. Anything else would be fabrication. The fourth kind is a bare date for something lasting all day, and the same applies.

Because a cell cannot say any of that on its own, a Time basis column comes ticked by default. It marks each row as universal, or names the city, or says the source was unanchored — the one piece of information a spreadsheet destroys silently and nobody notices until a meeting is missed. Files exported from Outlook get the same treatment when they use Microsoft's own zone vocabulary, which browsers have no rules for: the hour is left as written and the column says the name was not recognized.

The all-day trap, and why the End column disagrees with the file

Something occupying only the 14th is recorded as finishing on the 15th, because the closing boundary marks where it stops rather than the final day it fills. Copy that number straight into a spreadsheet and every one-day fixture looks like a two-day one, which is precisely what the converters ranking above this page do.

So the End column gives the last day genuinely covered, and if you would rather have the file's own boundary there is a separate End as written field holding the original untouched. Same for the start: tick Start as written and you get the compressed original alongside the readable version, which is handy when you are debugging a booking system rather than planning a week.

How do I convert an ICS file to Excel?

Convert to CSV here, then open the CSV — Excel treats one as a workbook from the moment it opens, and there is no separate step. Two settings are worth a glance before you download. Leave the byte order mark ticked, or accented place names arrive as mojibake. And if your copy of Excel runs in a European locale, switch the separator to a semicolon, otherwise every row lands in a single column and looks broken.

The date format picker matters here too. The spreadsheet option writes the plain2026-08-12 12:00 shape that Excel and Google Sheets recognize as a real date-and-time value you can subtract one from another. The ISO option is stricter and carries the offset inside the cell, which is better for archiving and worse for arithmetic. Sheets users take the same route through File, then Import.

Can I export a Microsoft calendar to a CSV file?

Outlook exports your own calendar to CSV directly, under File, then Open & Export. What it will not do is turn one invitation somebody emailed you into a table, and that is the situation this page exists for — you have a file, not a mailbox. Save the attachment, drop it here, and nothing touches the calendar you actually live in.

The same holds for a feed you have subscribed to. Download it once through your browser and the result is an ordinary file this page reads like any other.

How to convert an .ics file to another format

CSV is the format worth having, because it is the one everything else reads: spreadsheets, databases, Python, R, whatever the person you are sending it to happens to use. Getting from there to JSON or a database table is a step somebody else's tool already handles well.

What this page will not produce is an .xlsx workbook. That is a real difference rather than an oversight — a workbook can hold formatting and column types, and pretending a renamed CSV is one causes more trouble than it saves. Nor does it expand a repeat rule into individual dates; the rule is translated into a sentence and kept in its original form beside it, but generating every occurrence needs exception lists handled correctly, and a list that is almost right is worse than the rule.

Spreadsheet to calendar, the other direction

Going back the other way is a real need, and it has its own page:Excel to Calendar takes a table of dates and produces a calendar file from it. There is deliberately no separate CSV-to-ICS page here, because it would be the same job with a narrower door — schedules tend to live in spreadsheets rather than in hand-written comma-separated files, and one good page beats two thin ones.

If you only want to look at what you were sent, converting is more machinery than you need. The ICS viewer lays out the same file as readable appointments with no table involved. Building a file from scratch is theICS file generator, and if you would like the format itself explained, start with what an .ics file is.

Nothing leaves this tab

One of the results above this page in Google announces a fifteen-megabyte ceiling on the files it will accept, which tells you the file is going to their machine. Ours has no ceiling because there is no machine to send it to: the reading, the table and the download are all built by your own browser, and you can watch the Network panel stay empty while it happens.

That is not a small thing for this particular format. Calendar exports carry the email addresses of everyone invited, conference numbers, access codes, and the plain fact of where a named individual will be at a stated hour. It is an odd thing to post to a stranger in exchange for a table. Large files are handled by warning you what your own machine is in for and then getting on with it, rather than by refusing.

The output is written with the carriage returns that the CSV convention asks for, so a Windows spreadsheet opens it without complaint. What the file you handed over used is a separate matter, and one this page makes no claim about — text pasted into a box on a web page has already had its line breaks rewritten by the browser, so any answer would be a guess dressed as a fact.

Questions

Can you convert ICS to CSV?

Yes, and it takes about four seconds. Drop the .ics on the box above or paste its text, tick the fields you want as columns, and a spreadsheet-ready table appears with the download underneath it. The file is read by this tab, so nothing is uploaded and there is no account, no queue and no size limit imposed by us.

How do I convert an ICS file to Excel?

Convert it to CSV here and open the CSV in Excel — that is the whole route, and Excel treats a CSV as a spreadsheet from the moment it opens. Leave the byte order mark ticked so accented characters survive, and pick the semicolon separator if your Excel is set to a European locale, otherwise every row lands in one column. If you would rather work in Google Sheets, use File then Import and choose the CSV.

Can I export a Microsoft calendar to a .CSV file?

Outlook can export to CSV directly, through File then Open & Export then Import/Export. What it will not do is convert a single .ics attachment somebody sent you, which is the case this page is for: you have one file, not a mailbox. Export the .ics out of the invitation, drop it here, and you get the same kind of table without touching your own calendar.

How do I convert an .ics file to another format?

CSV is the one worth having, because every spreadsheet, database and scripting language reads it. From CSV you can reach anything else — JSON, a database table, a printed agenda. Going the other way, from a spreadsheet back to a calendar file, is a different tool: that is Excel to Calendar.

Why does one of my events say "floating" instead of a timezone?

Because the file genuinely does not say. A start written as 20260813T140000, with no Z at the end and no timezone named, means two o'clock wherever the reader happens to be — so it is a different moment for every person who opens it. Those times are written into the CSV exactly as the file has them, in every mode, because there is nothing to convert. The Time basis column tells you which rows are affected.

Is my calendar file uploaded anywhere?

No. It is read in this tab and never transmitted, which matters more for this format than most: an .ics carries attendee addresses, dial-in numbers, meeting passcodes, and the fact that a named person will be at a named address at a stated hour. Open your browser's Network tab before you drop the file and you will watch nothing go out.