iCalendar Event
An iCalendar (.ics) file with a single event and CRLF line endings per spec — for testing calendar imports.
BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//Novus Examples//EN
CALSCALE:GREGORIAN
BEGIN:VEVENT
UID:event-1@examples.novusstreamsolutions.com
DTSTAMP:20260101T090000Z
DTSTART:20260115T100000Z
DTEND:20260115T110000Z
SUMMARY:Project kickoff
LOCATION:Room A
DESCRIPTION:Sample event for iCalendar parser testing.
END:VEVENT
END:VCALENDAR
Specifications
- Format
- iCalendar 2.0
- Events
- 1
- Line Endings
- CRLF
- Encoding
- UTF-8
What is a .ics file?
ICS (iCalendar) is a plain-text format for exchanging calendar data such as events, to-dos, and free/busy time, structured as nested VCALENDAR and VEVENT components with property lines. It encodes start and end times, recurrence rules, and reminders. It is the universal standard for calendar interchange and invitations.
How to use this file
Use an example ICS file to test calendar import, event and recurrence-rule parsing, timezone handling, and interoperability across calendar applications.
How to use this file for testing
“iCalendar Event” is a deterministic Novus Examples fixture for Calendar parsing. iCalendar (.ics) files with events, timezones, and recurrence — for testing calendar imports and parsers.
Documented properties for this file: UTF-8 · CRLF · iCalendar 2.0. Compare results against paired or grouped companions on this page when present (clean↔damaged, searchable↔scanned, or format twins) so scores stay reproducible across runs.
Download the file once, keep the path stable in CI or local scripts, and treat the spec table as the contract: dimensions, seeds, field lists, and roles are intentional. Corrupt or invalid samples are labelled as such — expect parsers to fail loudly rather than silently accept them.
Data fixtures document their exact quirks — delimiters, encodings, null handling, schema, and row counts — in the spec table. Point your parser or importer at the file and assert it handles the documented edge cases; clean and deliberately-messy siblings make before/after diffs straightforward.
Code examples
from icalendar import Calendar # pip install icalendar
cal = Calendar.from_ical(open("event.ics", "rb").read())
for ev in cal.walk("VEVENT"):
print(ev.get("summary"))Related files
- icsCalendar Parsing - Intentionally Corrupt Missing END:VEVENT (ICS)An intentionally corrupt iCalendar file whose VEVENT is never closed, for testing fatal component-nesting errors without using a large or hostile payload.

- icsCalendar Parsing - Recoverable LF Line Endings (ICS)A complete iCalendar structure using LF-only line endings, a common recoverable export defect for tolerant parser tests.

- icsCalendar Parsing - Valid Folded UTF-8 Event (ICS)A standards-conforming event with a folded content line and UTF-8 text for baseline parser and line-unfolding tests.

- icsCalendar Recurrence - EXDATE plus RDATE (ICS)A recurrence set with both an exclusion and an explicit addition, useful for catching expansion engines that apply only one modifier.

- icsCalendar Recurrence - Five Weekly Occurrences (ICS)A weekly five-occurrence series that provides the recurrence baseline before exclusions or additions are applied.

- icsCalendar Recurrence - Weekly Series with EXDATE (ICS)The same weekly series with its third occurrence excluded, for testing RRULE expansion followed by EXDATE filtering.

Generated by generation/data_formats.py. Free for any use, no attribution required — license.