Create Google Calendar events from a list in Google Sheets
A class timetable, a shift rota or a content calendar is quicker to type as rows than as events, one at a time. There are two ways to bulk add those rows to Google Calendar, and they suit different jobs.
The short version
- Google Calendar can import a CSV file. It needs Google's own column names, it has no column for guests, and importing the same file twice creates every event twice.
- An add-on creates the events from the rows you select, inside the sheet, and marks each row so it is never created a second time.
Way 1: Google Calendar's CSV import
This needs no add-on. It works well for a one-off list with no guests.
- In row 1 of your sheet, type these column names exactly:
Subject,Start Date,Start Time,End Date,End Time,All Day Event,Description,Location. Only the first two are required. - Add one row for each event, with dates such as 05/30/2026 and times such as 10:00 AM.
- In Google Sheets, choose File, then Download, then Comma-separated values (.csv).
- Open Google Calendar on a computer. Click the gear icon, then Settings, then Import & export.
- Choose the file, pick the calendar to add the events to, and click Import.
Keep the file, and do not import it again. Google Calendar cannot tell that it has seen those rows before, so a second import adds a second copy of every event.
Way 2: Create the events from inside the sheet
DropScribe Calendar Export is an add-on for Google Sheets. It reads the rows you select and adds one event for each. It is free for 14 days with everything unlocked.
- Install DropScribe Calendar Export from the Google Workspace Marketplace and approve the permissions Google shows you.
- Open a spreadsheet and follow the menu below. The panel opens on the right.
Extensions then DropScribe Calendar Export then Open
- Open the Create events tab and click Add a template sheet. You get a new sheet named Events to create, with every column already named.
- Fill in one row for each event. Only Title and Start are needed. If your list is in Excel, copy the rows and paste them in.
- Select the rows you want to turn into events.
- Under Add events to, choose the calendar, then click Create events.
Each row is marked Created and gets an Event ID, so it is skipped the next time.
Schedule your whole list in one click
Free for 14 days with everything unlocked. No card needed.
The columns the add-on reads
Put these names in row 1, in any order. Your own sheet works too, as long as it has Title and Start.
| Column | What goes in it |
|---|---|
| Title Required | The name of the event. |
| Start Required | A date, or a date and time. |
| End | Leave it empty and a timed event lasts one hour. |
| All day | Type Yes for an all-day event. A Start with no time and no End is also all-day. |
| Location | Any text. |
| Description | Any text. |
| Guests | Email addresses, separated by commas. |
| Event ID, Status | Filled in by the add-on. Rows that have an Event ID are skipped. |
Which way to use
| CSV import | DropScribe Calendar Export | |
|---|---|---|
| Where you work | Download a file, then upload it in Google Calendar | Inside the spreadsheet |
| Guests | No column for guests | A Guests column, with invitation emails off unless you switch them on |
| Running it twice | Every event is created again | Rows already created are skipped |
| When a row is wrong | One message for the whole file | The reason is written in that row's Status cell |
| Cost | Free | Free for 14 days. Then 10 events per run on Free, or 200 on Pro |
Good to know before you run it
- Start and End must be real dates, not text. If a row says “Start is text, not a date”, select the Start and End columns, choose Format, then Number, then Date time, and type the dates again.
- No emails go out by default. Guests are added to the event quietly unless you switch on Email invitations to guests.
- The add-on only adds events. It never edits or deletes one. To change an event after it is created, edit it in Google Calendar.
- Times follow the spreadsheet's time zone. You can see or change it in Google Sheets under File, then Settings.
Questions
Can I bulk add events from an Excel file?
Yes. Copy the rows from Excel and paste them into the template sheet in Google Sheets, or open the Excel file in Google Sheets. Check that Start and End are formatted as Date time, then select the rows and create the events.
Can I add events to a shared calendar?
Yes, if you are allowed to add events to it. The panel lists your own calendars and the shared ones you can add events to.
Will guests get an invitation email?
Only if you switch on Email invitations to guests before you create the events. It is off to begin with, so guests are added to the event quietly.
Can I create a repeating event?
Each row becomes one event, not a repeating series. For a weekly class, add one row for each date. Type the first two dates, select both cells and drag the corner down to fill in the rest.
If I change a row later, does the event change?
No. The add-on only adds events. It never edits or deletes one, so a row that already has an Event ID is left alone. To change an event, edit it in Google Calendar.
Which time zone are the events created in?
Your spreadsheet's time zone. You can see or change it in Google Sheets under File, then Settings.