CSV to ICS Converter
Convert spreadsheet event lists into iCalendar (.ics) files. Import into Google Calendar, Outlook, or Apple Calendar — all processing stays in your browser.
Column Mapping
Map your CSV columns to event fields. Title and Start Date are required.
How to Convert CSV to ICS
- Paste your CSV data into the input field. Your spreadsheet should include a header row with descriptive column names — the converter uses these to auto-detect which column holds the event title, date, location, and other fields.
- Map your columns to event fields. Use the dropdown selectors to tell the converter which CSV column corresponds to each calendar property. The tool intelligently pre-selects columns whose names match common patterns: "Title", "Subject", or "Summary" map to the event title; "Start Date", "Begin", or "From" map to the start date.
- Set date and time preferences. Choose whether events are all-day (no specific start/end time) or timed. The converter auto-detects your date format — ISO 8601 (YYYY-MM-DD), US (MM/DD/YYYY), or European (DD/MM/YYYY) — by analyzing the actual values in your data columns.
- Click "Convert to ICS" to generate a standards-compliant iCalendar file. Each row becomes a VEVENT component with the proper DTSTART, DTEND (or DURATION), SUMMARY, LOCATION, and DESCRIPTION properties.
- Download the .ics file and import it into your calendar application. Most calendar apps accept .ics files via File → Import or by double-clicking the downloaded file.
Supported Features
- Column auto-detection. The converter scans your header row and matches columns to event properties by name. "Title", "Subject", or "Summary" → event title; "Start Date", "Begin", or "From" → DTSTART; "End Date", "To", or "Until" → DTEND. This saves you from manually configuring every column.
- Timezone handling. Date-time values are emitted in local time format. The converter generates a VTIMEZONE block when you specify a timezone identifier, enabling correct handling across timezone boundaries.
- All-day event support. Toggle the global all-day checkbox to emit DATE values (YYYYMMDD) instead of DATE-TIME for every event. Or map an "All-Day" column with yes/no values to control this per-row for mixed event lists.
- Multi-format date auto-detection. ISO 8601 dates (2026-06-11), US-style (06/11/2026), and European-style (11/06/2026) are all recognized automatically. The converter samples your date columns to determine which format you're using, so you don't need to configure it manually.
- RFC 5545 compliance. The generated ICS output follows the iCalendar standard: CRLF line endings, 75-octet line folding, proper escaping of special characters, and valid VCALENDAR/VEVENT structures compatible with every major calendar application.
When to Use CSV to ICS
- HR onboarding schedules. Your HR team maintains a spreadsheet of new-hire orientation sessions, training dates, and check-in meetings. Convert it to ICS and import directly into the team calendar — one file, dozens of events, zero manual entry.
- Event-management spreadsheet → Google Calendar. Conference planners track sessions, speakers, and room assignments in CSV. Convert the full schedule to ICS and distribute it to attendees, who can import it into their personal calendars in one click.
- CRM export → shared team calendar. Your CRM exports client meetings, follow-ups, and renewal dates as CSV. Convert to ICS and import into a shared calendar so the entire sales team sees upcoming touchpoints without checking the CRM.
- Conference and meetup schedules. Community organizers maintain meetup dates and topics in a shared spreadsheet. Convert the season's schedule to ICS and publish it on the event website — attendees subscribe once and get all dates.
- Project milestone timelines. Project managers track milestones, deadlines, and review dates in a CSV alongside Gantt charts. Converting those milestones to ICS overlays the timeline onto the team's actual calendars, making deadlines unavoidable.
Format Gotchas
- Recurring events need post-processing. Our converter generates simple VEVENT components — one per CSV row. If you need repeating events (weekly standups, monthly reviews), the basic converter does not emit RRULE properties. Add recurrence rules manually to the generated ICS or use a dedicated recurring-event scheduler.
- Timezone IDs must be valid IANA identifiers. The VTIMEZONE block requires a recognized timezone like
Europe/LondonorAmerica/New_York— not a raw UTC offset like+01:00. If your CSV uses numeric offsets, convert them to named timezones before generating the ICS. - Don't mix all-day and timed events carelessly. All-day events use DTSTART;VALUE=DATE (format: YYYYMMDD) while timed events use DTSTART;VALUE=DATE-TIME (format: YYYYMMDDTHHMMSS). Mixing these within a single ICS file without proper VALUE parameters can cause import failures in stricter calendar clients.
- UID uniqueness matters for re-imports. Each VEVENT gets a generated UID based on timestamp and random data. Importing the same ICS file twice will create duplicate events in your calendar because the UIDs differ. To update existing events, keep the original UID or delete old events before re-importing.
- Line folding is handled, but be aware of it. The ICS specification limits lines to 75 octets (bytes). Our generator automatically folds long lines per RFC 5545 §3.1. If you manually edit the generated ICS, be careful not to break folded lines — calendar parsers expect the continuation whitespace character.
- We generate DTEND, not DURATION. Our converter emits explicit end dates (DTEND) rather than duration values (DURATION). Most calendar applications handle both, but if your target system requires DURATION specifically, you'll need to post-process the ICS output.
FAQ
Is my data secure?
Yes. All CSV parsing and ICS generation executes entirely in your browser with JavaScript. Your event data never leaves your device — nothing is uploaded, transmitted, or stored on any server. Verify this by opening Developer Tools (F12), going to the Network tab, and clicking Convert. You'll see zero network requests.
Does this handle recurring events?
Our converter generates one VEVENT per CSV row. It does not automatically produce RRULE (recurrence rule) properties for repeating events. If you need recurring events — like a weekly team meeting — you have two options: create a separate row for each occurrence in your CSV, or manually add the RRULE to the generated ICS file afterward using a text editor.
How do I import the ICS into Google Calendar?
Open Google Calendar, click the gear icon (Settings), select "Import & export", click "Select file from your computer", choose your downloaded .ics file, pick the target calendar, and click "Import". Google Calendar will add all events from the file into your chosen calendar. Duplicate events are not automatically detected, so use a fresh calendar if you're testing.
Does this work with Outlook?
Yes. In Outlook, go to File → Open & Export → Import/Export → "Import an iCalendar (.ics) file", then select your downloaded file. Outlook can import into your main calendar or a secondary calendar. Note that Outlook sometimes struggles with very large ICS files (500+ events) — consider splitting large exports into smaller batches.
What timezone should I use?
By default, events use your local timezone as configured in your browser. For multi-timezone event lists — like a conference with attendees across continents — include an explicit timezone column mapped in your CSV and use IANA timezone identifiers (e.g., America/Chicago, Asia/Tokyo). Calendar applications will then display events in each viewer's local time.