CSV Format Reference

Complete documentation of all supported columns in the CSV-to-iCal converter.

Column Names

Column headers are case-insensitive and leading/trailing whitespace is ignored. Both Start Date and start date are accepted.

Required Columns

Subject

The event title displayed in the calendar.

Subject Team standup Doctor appointment 

Start Date

The date on which the event begins. See Supported Date Formats below.

Optional Columns

Start Time, End Date, End Time

  • Start Time: The time the event begins. Optional. If omitted, the event is treated as an all-day event.
  • End Date: The date on which the event ends. Defaults to the same value as Start Date if omitted.
  • End Time: The time the event ends. If provided, Start Time must also be present.
Subject Start Date Start Time End Date End Time
New Year’s Eve 2026-12-31 6:00pm 2027-01-01 3:00am
Valentine’s Day Party 2026-02-14
Labor Day 2026-05-01

All Day Event

Set to True or Yes to mark an event as all-day regardless of whether time columns are present.

Subject Start Date All Day
New Year’s Eve 2026-12-31 false
Valentine’s Day Party 2026-02-14 true
Labor Day 2026-05-01 true

Availability

Set to Free or Busy to show whether you can be available for other events at that time, or not.

  • Free tells others that you are available for overlapping event appointments.
  • Busy indicates that your time has been blocked off.

Note that some Calendar apps, notably Apple Calendar, do not support free/busy information.

Subject Start Date Availability All Day
New Year’s Eve 2026-12-31 busy false
Valentine’s Day Party 2026-02-14 free true
Labor Day 2026-05-01 true

Location

The physical address or virtual meeting link for the event.

Location 123 Main Street, Any City, CA 90000 

or

https://meet.example.com/room/abc 

Category

One or more event categories. Separate multiple values with semicolons.

Category Work;Important;Follow-up 

URL

A link associated with the event. Many calendar apps display this as a meeting URL or event URL.

URL https://example.com/meeting 

Classification

Set event privacy or classification. Examples:

  • PUBLIC
  • PRIVATE
  • CONFIDENTIAL

Priority

Set event priority using common labels or numeric values.

  • High, Medium, Low
  • 1 through 9

Duration

Specify event duration when End Date and End Time are omitted.

Example:

Duration 30 minutes 

Organizer

The organizer for the event, parsed as a Mailto organizer address.

Example:

Organizer Alice <alice@example.com> 

Required Attendees, Optional Attendees

Semicolon- or comma-separated attendee lists. Each attendee may be a single email or Name <email>.

Required Attendees,Optional Attendees Alice <alice@example.com>;bob@example.com,carol@example.com 

Recurrence

Set a recurrence frequency using plain text like Daily, Weekly, Monthly, or Yearly.

Recurrence End Date

Use this when a recurring event has a final date.

Number of Occurrences

Use this to stop recurrence after a fixed number of events.

Recurrence Interval

Use this to repeat every N periods. For example, 2 with Weekly means every two weeks.

Reminder Date, Reminder Time

Set either a date-based reminder or a relative reminder interval.

  • Reminder Date accepts a date.
  • Reminder Time accepts a duration like 30 minutes.

Full Example

Subject Start Date Start Time End Date End Time Availability All Day Description Location Category URL Classification Priority Time Zone Required Attendees Optional Attendees Organizer Recurrence Recurrence End Date Number of Occurrences Recurrence Interval Reminder Date Reminder Time
New Year’s Eve 2026-12-31 6:00pm 2027-01-01 3:00am busy false Longer Description San Francisco CA Work https://example.com/event PRIVATE High America/New_York Alice alice@example.com;bob@example.com carol@example.com David david@example.com Weekly 2027-01-31 6 1 2026-12-30 30 minutes
Valentine’s Day Party 2026-02-14 free true Missing Times are OK New York NY Personal PUBLIC 5 America/Los_Angeles Yearly 2028-02-14 3 1
Labor Day 2026-05-01 true Holiday PUBLIC Low

Supported Date Formats

Format Example
YYYY-MM-DD 2026-03-14
MM/DD/YYYY 03/14/2026
DD-MM-YYYY 14-03-2026
DD/MM/YYYY 14/03/2026

Supported Time Formats

Format Example
24-hour HH:mm 14:30
24-hour HH:mm:ss 14:30:00
12-hour hh:mm AM/PM 2:30 PM

Delimiters

The delimiter is auto-detected from the first line of the file. Supported delimiters:

Name Character
Comma ,
Semicolon ;
Tab \t
Pipe |

Encoding

UTF-8 is recommended. Files with a UTF-8 BOM are also accepted.