One-time importing of CSV and ICS file

The one-time import of CSV or ICS file will import just the existing events from those files, without synchronizing with the source calendar.

Import Form

The calendar owner must select a file (CSV or ICS) format or paste the file's content into a text area. Optionally, the user can assign categories, tags and custom filters to the imported events. The user also has the following options:

  • Import source tags and categories
    If this option is checked, all categories and tags found in the imported events, will be created on the calendar

  • Tweet events (if user has Twitter subscription activated).
    If this option is checked, the events will be tweeted automatically

CSV Import Process
In the CSV file the field value separator is a comma and the field value delimiter is a double quotation mark. To import from CSV, you must specify the correct field names as the first row:

At the minimum, your first row should have these fields: “TYPE”,”UID”,”DTSTAMP”,”SUMMARY”,”DTSTART”,”DTEND” ​

  • "TYPE" is always “vevent”
  • "UID" is the unique ID of the event
  • "DTSTAMP" is the time when the event was created
  • "SUMMARY" is the title of the event
  • "DTSTART" is the start time of the event
  • "DTEND" is the end time of the event
Each field value is assumed to be in strict RFC2445/5545 format. For example, date fields (DTSTART, DTEND, etc.) may be prefixed by TZID or VALUE DATETIME/DATE parameters.

Sample CSV

Use this file to structure your own CSV file. Other fields can be added but they must use strict RFC2445 property names. We perform extra parsing on some fields to accommodate some common use cases.

  • DTSTART/DTEND: These can be either DATE or DATETIME values. The examples given on the linked pages are quite are clear. It is strongly advised to specify a time zone, otherwise you may end up with unpredictably offset date and time values. Important: If you import a DATE, the event will be considered to be an all-day event. If it’s a DATETIME, it will be considered as not all-day.So, for example, if you have an all-day event for January 27, 2013, you should provide the value TZID=Europe/Rome:20130127 (assuming WordPress is configured for the Rome time zone).
  • LOCATION: If the location field is in the format Venue @ Address or Venue – Address we detect this and import the fields accordingly. So Atomic Bar @ Via Felice casati 24 imports Atomic Bar as the venue and Via Felice Casati 24 as the Address.
    If the location field does not match this format but contains a comma (,) it is considered as an address; otherwise it is considered as a venue.
  • X-TICKETS-URL: This property is used to populate the Buy Tickets URL field.
  • X-COST: This property is used to populate the Cost field.
  • CONTACT: You can use this property to provide Contact Name, Phone, E-mail and External URL (contained in the Organizer Contact Info pane). To do so, you must separate the field names by a semicolons (;). For example: Nicola Peluchetti; 00000000000000;; would turn Nicola Peluchetti into the Contact Name, 00000000000000 into Phone, into E-mail, and into External URL.
    Any of the above fields are optional and they can be provided in any order. If a value contains an @, it is considered an e-mail address. If it contains ://, it is considered a URL. If it is numeric, it is considered a phone number. In all the other cases, it is considered the contact name. If no CONTACT property is specified, we default it to the value of the ORGANIZER property.
  • RRULE: This fields allow you to specify recurrence rules. They would be imported in the “Repeat” part of the event. You would use this to specify an event that happens, for example, every Wednesday, or every second Friday of the month. They can be quite complex. A reference can be found here.
  • GEO: this field is used to specify a location for the event. You must specify valid latitude and longitude, separated by a semicolon. For example, 18.4444464;14.777777. This would be imported in the latitude and longitude fields, and the “Input coordinates” checkbox will be checked for that event. A reference can be found here.
  • CATEGORIES: a comma separated list of categories, if the category is not present it will be created
  • X-TAGS: a comma separated list of tags, if the tag is not present it will be created

​Please see this page for a reference to other iCalendar (.ics) properties.

Avoiding Common Pitfalls
Many users report CSV import problems that can be easily avoided. Please take the following points into consideration when generating a CSV:

  • Use double quotes to enclose all textual data. This will allow you to use a comma inside the textual data. If you don’t use double quotes, our plugin import routine will be easily messed up by thinking that comma is a separator for new data. Remember, these are Comma Separated Values.
  • Inside those double quotes, there are certain characters that may not work. You must use their HTML special characters counterpart. I.e. You must use HTML special characters for colon, which is ":". If this is not inputted correctly, it will result in part of the data not being imported. For complete list of HTML special characters that you can use, you can have a look at this reference.

Note: if you want to use double quotes as one character of the data, you must end it with a backslash as follows : \". Please see attached CSV for a complete look of how to avoid this common pitfalls.

If you receive warnings, check the correct use of double quotes and the use of HTML special characters. It will solve most –if not all– errors.

Importing CSV from Outlook export
Currently, our calendar does not support CSV exports from Outlook. To overcome this, you can convert your Outlook exported CSV into *.ics (iCalendar file format used by Google, iPhone and iCal) using this online converter tool. It will generate an *.ics file in your Download folder. Upload this newly converted *.ics file to our plugin, instead of the original Outlook exported CSV file.


Have more questions? Submit a request


  • 0
    CineLife Support

    How would one add a field to the CSV for the event details?

Please sign in to leave a comment.
Powered by Zendesk