πŸ“…CSVβ†’ICS

How to Import a CSV into Google Calendar

Google Calendar can swallow a CSV directly β€” if the file follows its rules. Here are both working routes: the built-in import with its exact requirements, and the convert-to-ICS route that avoids its sharp edges.

πŸ“…
Written by Casey Marlin Β· Last updated July 24, 2026
This update: steps written against Google Calendar's current import flow; if Google moves a menu, tell us and we'll update

Route A β€” Google's built-in CSV import

1

Format the file first. The header row must use Google's English column names β€” Subject and Start Date are required; Start Time, End Date, End Time, All Day Event, Description, Location and Private are optional. Our sample.csv on the homepage is already in this exact shape.

2

Open Google Calendar in a desktop browser (calendar.google.com). Import is not available in the iOS/Android app.

3

Click the gear icon β†’ Settings β†’ Import & export (left sidebar) β†’ Import.

4

Click 'Select file from your computer' and choose your CSV.

5

Pick the destination calendar in the 'Add to calendar' dropdown. Consider creating a fresh calendar first β€” if the import goes wrong you can delete the whole calendar instead of hundreds of events.

6

Click Import. Google reports how many events were added; they appear immediately.

Know the limits before you click Import: no undo, no recurring events, no per-event timezone (everything lands in the destination calendar's zone), and re-importing the same file duplicates every event.

Ad space

Route B β€” convert to ICS first (safer)

1

Convert your CSV with our CSV to ICS converter. It accepts messy headers and mixed date formats, lets you pick the correct timezone, and previews every event before you download β€” all in your browser.

2

Download the .ics file it generates.

3

In Google Calendar on the web: gear icon β†’ Settings β†’ Import & export β†’ Import β†’ select the .ics file β†’ choose the destination calendar β†’ Import.

Why bother with the extra step? The ICS carries a proper timezone definition (so a 9:00 AM event stays 9:00 AM), you catch bad rows in the preview instead of in your calendar, and each event gets a unique ID β€” importing the same ICS twice doesn't double your events the way CSV does. Start on the converter homepage.

CSV to Google Calendar β€” FAQ

Can Google Calendar import a CSV file directly?

Yes β€” it's one of the few calendar apps that can. On the web, open Settings β†’ Import & export β†’ Import, select the CSV, pick a destination calendar and click Import. The file needs English headers (Subject, Start Date, etc.) and Subject + Start Date are mandatory. The Google Calendar mobile app cannot import files at all β€” this is desktop-web only.

Why does Google Calendar say 'Could not upload your events' for my CSV?

Usually one of four things: non-English column headers (translate them to Subject, Start Date, …), a missing Subject or Start Date on some row, ambiguous or malformed dates, or the wrong file encoding. Converting the CSV to ICS with our converter sidesteps all four, because you get to preview and fix events before anything reaches Google.

Can I undo a Google Calendar import?

No β€” there is no bulk undo. Every imported event has to be deleted by hand if the import goes wrong, which is the single best argument for previewing first. Importing the same file twice also duplicates every CSV event, since CSV rows carry no unique IDs for Google to deduplicate on.

Does Google Calendar's CSV import support recurring events?

No. CSV import creates single events only. To import repeating events, convert to ICS and add RRULE lines (see our guide to creating ICS files), or recreate the recurrence in Google Calendar after importing the first occurrence.

What timezone does Google use for imported CSV events?

The destination calendar's timezone β€” CSV rows can't specify their own. If your spreadsheet times were written for a different zone, every event shifts. The ICS route fixes this: our converter embeds the timezone (with DST rules) in the file, and Google respects it regardless of your calendar's setting.

Should I import CSV directly or convert to ICS first?

Direct CSV is fine for a simple, clean, already-Google-formatted file landing in a calendar whose timezone matches. Convert to ICS first when headers are non-standard, dates are in mixed formats, timezones matter, or you want a preview before committing β€” the import itself can't be undone.

Keep reading