Skip to content

ICS (.ics)

.ics file signature | text/calendar

The iCalendar file format (ICS) is a text-based calendar and scheduling standard defined and maintained by the Internet Engineering Task Force (IETF). It is used to exchange event, meeting, and task information across calendar applications, email clients, and groupware systems. Because it is plain text, ICS files are generally safe to inspect, though imported events may include external links, alerts, or attachments that should be reviewed when received from untrusted sources.

Safe

Magic Bytes

Offset 0
42 45 47 49 4E 3A 56 43 41 4C 45 4E 44 41 52

Sources: Apache Tika

Extension

.ics

MIME Type

text/calendar

Byte Offset

0

Risk Level

Safe

Validation Code

How to validate .ics files in Python

Python
def is_ics(file_path: str) -> bool:
    """Check if file is a valid ICS by magic bytes."""
    signature = bytes([0x42, 0x45, 0x47, 0x49, 0x4E, 0x3A, 0x56, 0x43, 0x41, 0x4C, 0x45, 0x4E, 0x44, 0x41, 0x52])
    with open(file_path, "rb") as f:
        return f.read(15) == signature

How to validate .ics files in Node.js

Node.js
function isICS(buffer: Buffer): boolean {
  const signature = Buffer.from([0x42, 0x45, 0x47, 0x49, 0x4E, 0x3A, 0x56, 0x43, 0x41, 0x4C, 0x45, 0x4E, 0x44, 0x41, 0x52]);
  return buffer.subarray(0, 15).equals(signature);
}

How to validate .ics files in Go

Go
func IsICS(data []byte) bool {
    signature := []byte{0x42, 0x45, 0x47, 0x49, 0x4E, 0x3A, 0x56, 0x43, 0x41, 0x4C, 0x45, 0x4E, 0x44, 0x41, 0x52}
    if len(data) < 15 {
        return false
    }
    return bytes.Equal(data[:15], signature)
}

API Endpoint

GET /api/v1/ics
curl https://filesignature.org/api/v1/ics

See the full API documentation for all endpoints and parameters.

Related Formats

Frequently Asked Questions

What is a .ics file?

A .ics file is identified by the magic bytes 42 45 47 49 4E 3A 56 43 41 4C 45 4E 44 41 52 at byte offset 0. The iCalendar file format (ICS) is a text-based calendar and scheduling standard defined and maintained by the Internet Engineering Task Force (IETF). It is used to exchange event, meeting, and task information across calendar applications, email clients, and groupware systems. Because it is plain text, ICS files are generally safe to inspect, though imported events may include external links, alerts, or attachments that should be reviewed when received from untrusted sources.

What are the magic bytes for .ics files?

The magic bytes for ICS files are 42 45 47 49 4E 3A 56 43 41 4C 45 4E 44 41 52 at byte offset 0. These bytes uniquely identify the file format regardless of the file extension.

How do I validate a .ics file?

To validate a .ics file, read the first bytes of the file and compare them against the known magic bytes (42 45 47 49 4E 3A 56 43 41 4C 45 4E 44 41 52) at offset 0. This is more reliable than checking the file extension alone, as extensions can be renamed.

What is the MIME type for .ics files?

The primary MIME type for .ics files is text/calendar.

Is it safe to open .ics files?

ICS (.ics) files are generally safe to open. They are classified as low risk because they primarily contain data rather than executable code. However, always ensure files come from a trusted source.