ICS File Generator

Create a standards-compliant .ics calendar file for a meeting, contractual deadline, appointment, or single work shift. Preview the event structure in real time, download the file locally, and import it into Google Calendar, Microsoft Outlook, or Apple Calendar.

Building a multi-event repeating schedule? This utility generates standalone single-event .ics files. To generate a full year of repeating rotations or payroll dates at once, use our Shift Calendar Generator or 2026 Biweekly Pay Period Calendar .
1

Configure event

Enter the details you want calendar apps to import.

1. Importing Your .ICS File Across Platforms

Every major desktop and mobile calendar application supports the iCalendar (text/calendar) file format natively. Download the generated .ics file first, then follow your client's import workflow.

Google Calendar

On desktop web, open Settings → Import & export, choose your .ics file, and pick a destination calendar.

Google Import Guide →

Microsoft Outlook

In Outlook Web or New Outlook, go to Add calendar → Upload from file. In Classic Outlook, use File → Open & Export.

Outlook Import Guide →

Apple Calendar

Double-click the file on macOS or download via Safari on iPhone/iPad to open the native iCloud event sheet.

iPhone Calendar Guide →

2. Technical Anatomy of an RFC 5545 .ICS File

Under IETF RFC 5545, an iCalendar file is a UTF-8 plain-text container delimited by BEGIN:VCALENDAR and END:VCALENDAR lines using CRLF (\r\n) line endings. Inside that envelope sits one or more VEVENT blocks. Missing a required property—such as VERSION:2.0, PRODID, UID, or DTSTAMP—is the primary reason strict parsers like Google Calendar and Exchange reject hand-crafted files. For deep-dive parser diagnostics, read our ICS File Format & RFC 5545 Troubleshooting Guide .

Property Scope RFC 5545 Role & Parser Requirement
VCALENDAR Root Outer container declaring VERSION:2.0 and PRODID generator metadata.
VEVENT Component Encapsulates a single scheduled calendar entry, milestone, or shift block.
UID Required Globally unique string used for deduplication and in-place event updates across re-imports.
DTSTAMP Required UTC timestamp (YYYYMMDDTHHMMSSZ) recording when the iCalendar object was created.
DTSTART / DTEND Timing Defines start and non-inclusive end boundaries via UTC (Z), local TZID, or VALUE=DATE.
SUMMARY / LOCATION Metadata Event title, physical address or video link, and escaped plain-text DESCRIPTION notes.

Minimal Valid RFC 5545 Wire Structure

BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//WCalendar//ICS Generator//EN
CALSCALE:GREGORIAN
BEGIN:VEVENT
UID:[email protected]
DTSTAMP:20261103T120000Z
DTSTART:20261112T150000Z
DTEND:20261112T160000Z
SUMMARY:Q4 Operations & Payroll Cutoff Review
LOCATION:Conference Room B / Video Bridge
DESCRIPTION:Finalize holiday ACH submission windows before Thanksgiving.
END:VEVENT
END:VCALENDAR

3. Timezone Formats (Z vs. TZID vs. VALUE=DATE) & Common DST Pitfalls

Calendar bugs almost always stem from choosing the wrong DTSTART/DTEND timestamp mode for the event type:

Timestamp Mode Syntax Example How Calendar Apps Interpret It Common Pitfall to Avoid
UTC Absolute Time DTSTART:20261112T150000Z Locks the event to an exact instant in Coordinated Universal Time; converts automatically to each attendee's local timezone. Calculating the UTC offset using standard time for a summer Daylight Saving date shifts the meeting by 1 hour.
Zoned Wall-Clock (TZID) DTSTART;TZID=America/New_York:20261112T100000 Pins the event to a named IANA region (e.g., 10:00 AM Eastern) and respects regional DST transitions. Classic desktop Outlook may misread TZID if the file omits a matching VTIMEZONE definition block or uses non-IANA names.
All-Day Date (VALUE=DATE) DTSTART;VALUE=DATE:20261112 Renders as a banner at the top of the calendar day regardless of which timezone the user travels to. DTEND is exclusive (20261113 for a 1-day Nov 12 event). Never use T000000Z for all-day holidays or shifts.
Floating Local Time DTSTART:20261112T090000 Appears at 9:00 AM in whatever local timezone the importing user's calendar is currently set to. Dangerous for live video calls across timezones—a London and Chicago attendee would join 6 hours apart!

4. Best Practices for Distributing Corporate .ICS Event Files

Omit METHOD:REQUEST on Downloads

Downloadable website and email attachment .ics files should omit METHOD:REQUEST (or use METHOD:PUBLISH). Including METHOD:REQUEST without matching ORGANIZER/ATTENDEE headers causes Outlook and Google Calendar to reject self-imports.

Preserve Stable UID Values

If you reschedule a corporate town hall or filing deadline, re-issuing an .ics with the original UID and an incremented SEQUENCE:1 updates the existing calendar slot instead of stranding a duplicate entry at the old time.

Pair .ICS with Web Compose Links

On mobile Android and Gmail webmail, clicking an .ics file requires downloading and opening a file attachment. Pair your file with direct Google and Microsoft 365 URLs from our Add to Calendar Link Generator for one-tap mobile conversion.

Frequently asked questions

What is an ICS file and which standard governs it?
An ICS (.ics) file is a plain-text universal calendar file formatted under IETF RFC 5545 (iCalendar). It packages structured event properties—such as title (SUMMARY), start and end timestamps (DTSTART/DTEND), location, description, and a unique identifier (UID)—so any compliant calendar client can import the event accurately.
Does this generator create single events or multi-event repeating schedules?
This tool generates RFC 5545 single-event .ics files tailored for standalone meetings, webinars, appointments, and filing deadlines. If you need a multi-event repeating schedule exported as a bulk .ics file, use WCalendar's Shift Calendar Generator (/shift-calendar-generator) or the 2026 Biweekly Pay Period Calendar (/pay-period-calendars/biweekly-2026).
Why do imported ICS events sometimes shift by an hour or land on the wrong day?
Time shifts usually happen when an .ics file mixes floating local timestamps with UTC ('Z') timestamps across Daylight Saving Time (DST) boundaries, or when an all-day event is encoded as midnight UTC (00:00:00Z) instead of a pure date property (VALUE=DATE). In Western Hemisphere timezones behind UTC, midnight UTC rolls backward into the prior evening.
Can I import a generated .ics file into Google Calendar, Outlook, and Apple Calendar?
Yes. In Google Calendar on the web, open Settings -> Import & export and upload the file. In Microsoft Outlook, use Add calendar -> Upload from file (Web/New Outlook) or File -> Open & Export (Classic Outlook). On macOS and iOS, opening the .ics file launches Apple Calendar's native import prompt.
Does WCalendar store, host, or share my event data?
No. Your .ics payload is assembled entirely locally inside your browser and downloaded directly to your device. WCalendar never uploads, stores, indexes, or shares your event details.