Convert CSV to ICS
Convert CSV to ICS instantly in your browser. Free, fast, and private - your files are processed locally on your device.
Drop your CSV files here
Up to 5MB per file.
Column mapping (optional)
Files never leave your browser
How to Convert
- 101
Upload your CSV files
Drag and drop or select CSV files from your device. You can upload multiple files at once.
- 202
Configure Output
Choose any available ICS output options, then start the conversion.
- 303
Download ICS files
Once conversion finishes, download your files individually or as a compressed ZIP archive.
Why convert CSV to ICS?
Convert CSV files to ICS locally, with no file upload or account required.
Clear validation protects against duplicate headers, unsupported structures and oversized files instead of quietly discarding data. See the format notes below before importing the output into another application.
Frequently Asked Questions
How do I create an all-day event from CSV?
Use Subject or SUMMARY with a Start Date or DTSTART column. YYYY-MM-DD and YYYYMMDD both work, as do Outlook and Google Calendar exports that split Start Date and Start Time. Extra columns are ignored. All-day spreadsheet end dates are inclusive and become the exclusive ICS DTEND, so a one-day event on 9 September 2026 ends on 2026-09-10.
Are event IDs created automatically?
A UID and creation timestamp are added when those fields are missing. Keep a stable UID column when preparing repeated exports; generating new IDs can cause duplicate events when imported into a calendar app.
How do I convert CSV to ICS?
Select a file up to 5 MB, start the conversion, and download the result. Processing runs locally in your browser. Table conversions support up to 20,000 records, 256 columns and 200,000 cells.
Are my files uploaded?
No. This converter processes the file in a local browser worker. File contents are not sent to the conversion server, and the file is not used to train AI.
How do I map my columns?
Use SUMMARY, DTSTART and optionally DTEND, or spreadsheet headers such as Subject, Start Date and Start Time. Dates can be YYYY-MM-DD, YYYYMMDD, or an unambiguous day/month/year. Ambiguous values such as 09/10/2026 are rejected rather than guessed. Raw DTSTART;TZID=Europe/London headers retain local timezone information. No timezone is guessed from your browser.
How are data types and spreadsheet safety handled?
Table text is kept as text, including leading zeros. XLSX output uses text cells rather than executable formulas. CSV/TSV fields beginning with formula-like characters receive a leading apostrophe for spreadsheet safety; choose XLSX or JSON if you need exact literal values. Nested table values use JSON text rather than ambiguous flattened field names.