How to Import Events from CSV to Your Event Calendar Widget

Want to easily manage multiple events in your Event Calendar widget at once? Import and export events via CSV to save time, keep data consistent, and make bulk edits a breeze! 🙌

In this article

CSV File Formatting Rules

The Event Calendar accepts CSV files that follow a specific structure. For a successful file upload, keep all columns intact and leave unused ones empty.

You can download a ready-made template to fill it out with your event details. The template ensures everything is in the correct order:

Here are all columns supported by the template, in order:

Event Details

Column Description / Format
Event Name The title of your event, displayed in the widget
Description Details or description of the event
Start Date & Time❗ Start date and time in any format, date first
End Date & Time❗ End date and time in any format, date first
Time Zone❗ Supports both IANA (Europe/London) and GMT offset (GMT+4)
All Day Event? (Yes/No) Mark Yes for all-day events, No otherwise
Repeat Repetition rule (e.g. No repeat, Every day, Every week, etc.)
  • Required fields are marked with an exclamation point (❗).
  • The End Date can match the Start Date for single-day events.
  • Start Date & Time and End Date & Time support any readable format, as long as the date comes first (e.g. MM/DD/YYYY HH:MM).

Event Type & Venue

Column Description / Format
Event Type Name Category name for the event
Event Type Color Color for the event type
Event Type Icon URL Link to an icon image for the event type
Venue Name Name of the venue or place
Venue Address Address or location details
Venue Website Website or map link for the venue
  • You can create new event types and venues via CSV as long as the Event Type Name or Venue Name is filled in.
  • Supported color formats: HEX, RGB, transparent (e.g. #FF5733, rgb(255,0,0), transparent).
  • For URLs, use this format: https://www.yourlink...
  • Use semicolons (;) to separate multiple event types and venues.

Organizer Information

Column Description / Format
Host Name Organizer or host name
Host Phone Phone number for the organizer
Host Email Email address for the organizer
Host Website Organizer’s website URL
Host Logo URL Link to the organizer’s logo image
  • You can create new hosts via CSV as long as the Host Name is filled in.
  • For URLs, use this format: https://www.yourlink...
  • Use semicolons (;) to separate multiple hosts.

Event Content & Media

Column Description / Format
Tags Keywords for filtering
Custom Event Color Custom color for this specific event card
Show Button (Yes/No) Display a call-to-action button
Button Text Label for the call-to-action button
Button Caption Short description below the button
Button Link URL opened when the button is clicked
Image Name Alt text for the event image
Image URL Link to an image for the event
Video URL Public YouTube or Vimeo video URL related to the event
File Name Name of an attached file (e.g., brochure, agenda)
File URL Link to the attached file
  • You can create new tags via CSV as long as the Tags are filled in.
  • Supported color formats for event colors: HEX, RGB, transparent (e.g. #FF5733, rgb(255,0,0), transparent).
  • For URLs, use this format: https://www.yourlink...
  • Use semicolons (;) to separate multiple tags.

Visibility

Column Description / Format
Is Hidden? (Yes/No) Mark Yes to hide the event from public view
  • Hidden events remain in your CSV and settings but won’t appear in the live calendar.

Tips on Working with CSV Files

To make editing your CSV even simpler, upload the template file to Google Drive and use Google Sheets:

1

Open your Google Drive and click + New:

Upload your file:

2

Open the file in Google Sheets to get started:

Use the columns in Google Sheets to easily add your event details:

3

When you're done editing, click FileDownload, and save it as a CSV file:

Before uploading the file to your widget, verify that it’s in UTF-8 encoding, doesn’t contain any extra symbols, and stays within the 1,000-event limit to ensure everything runs smoothly.

CSV files exported from Google Sheets are UTF-8 encoded by default. If you’ve edited your file in another app and are unsure how to check or save the file in UTF-8, take a look at this guide.

Importing Events

Follow these steps to upload a CSV and create events in bulk. The first step in the editor depends on whether your widget is new or already has events.

1

New widget
On the Events tab, click Import from CSV: Widget with existing events
Open the Events tab, click the three dots (⋯) menu, then choose Import from CSV:

⚠️ Important: When you upload a CSV, all current events and filters will be replaced with those in your file.
2

In the import dialog, you can download a template and upload your CSV file via drag & drop or browse:

3

Wait for processing to complete. After the import finishes, your events will appear in the list:

Exporting Events

Export your current events to a CSV file to edit them externally or keep a backup.

1

In the Events tab, click the three dots (⋯) menu and choose Export as CSV:

2

Your browser will download a file named like elfsight-event-calendar-MM-DD-YYYY.csv:

Now you can open the CSV, make your edits (keeping column order intact), save, and re-import it if needed.


That’s it! With CSV import and export, you can efficiently manage large schedules in just a few clicks. 🚀

Did this article answer your question? Share your feedback: Thanks for sharing your feedback. It helps us grow! There was a problem submitting your feedback. Please try again later.

Still looking for assistance? Contact Us Contact Us