CSV to Calendar File

Create an ICS calendar file from CSV rows with explicit UTC times or all-day dates.

Files stay on your device No sign-up Free to use
How this works

The tool runs in this browser. Your file or text is not uploaded to UseFreeTools. Check this tool's limits for anything it may save on your device.

Privacy details

Create calendar controls

Showing an example. Edit to see your own.

Required headers: summary,start,end. Optional: uid,location,description. At most 200 events. Blank or absent UID creates a new random identifier.

Drop your CSV file here

or choose one from your device

A chosen file replaces the pasted CSV. Up to 20 MiB, 100,000 data rows, 500 columns and 2,000,000 cells including headers.

    UTC: YYYY-MM-DDTHH:mm:ssZ. All-day: YYYY-MM-DD, with the first date outside the event as its end. Years 1970–2100 only.

    Processed in your browser. Your inputs stay on this device.

    How to use CSV to Calendar File

    1. Enter event rows and choose UTC or all-day dates.
    2. Check start and end values, including exclusive all-day ends.
    3. Download the ICS and review events before importing.

    Example: CSV to Calendar File

    A local worked example using the inputs and settings below for csv to calendar file.

    You add
    UTF-8 CSV file (optional): [] Pasted CSV: "summary,start,end,uid,location,description\nPlanning meeting,2026-01-05T09:00:00Z,2026-01-05T10:00:00Z,example-one,Room A,Weekly plan" CSV separator: "," Event times: "utc"
    You get
    Created one calendar file with 1 finite events. example-one | Planning meeting | 20260105T090000Z | 20260105T100000Z events.ics

    Options

    Time kind
    UTC rows use explicit UTC timestamps. All-day rows use dates and an exclusive end date; changing the selector alone does not convert the source strings.
    UID column
    UID identifies an event. Keep a stable supplied UID when you intend to update the same event in another application, and inspect that application’s import behavior.

    Supported inputs and limits

    Up to 200 events. Required columns: summary,start,end; optional uid,location,description. UTC ISO timestamps or all-day dates only. All-day end dates are exclusive. No recurring events, invitations or named time zones. Blank UIDs receive local random identifiers. Dates use years 1970–2100; UTC timestamps require explicit seconds. Unsupported properties and parameters are refused.

    Where your input is processed

    This tool processes your input in this browser. Your text and files are not uploaded to UseFreeTools. Check this tool's limits for anything it may save on your device.

    Keep source rows with the generated file

    The conversion creates the supported finite event records. It does not send invitations or update an account automatically. Check the generated title, start and end values before importing, especially when a spreadsheet has reformatted a date column.

    Questions about CSV to Calendar File

    Why is an all-day end date the following day?

    Calendar end dates are exclusive. A one-day event ends at the start of the next day.

    Can I use a named time zone?

    No. Timed events use explicit UTC.

    Are recurring events created?

    No. Each CSV row creates one finite event.

    Project manager: Tony Hines · Content updated 4 October 2026 · Report a problem