Privacy First
Uploaded files are automatically and permanently deleted within two hours.
Make an iCalendar file readable for people and printers: every event becomes a card with date, time, title, location and description on A4 pages
With this free converter you can process up to 20 ICS (Internet Calendaring and Scheduling) files at one time.
An ICS file is plain text in the iCalendar format (RFC 5545), which is unreadable without a calendar app. The converter parses it with a standards-compliant library, lays the events out as an HTML document and renders that to a PDF with WeasyPrint.
Google Calendar: Settings, Import and export, Export. Outlook: File, Save Calendar. Apple Calendar: File, Export. Or save the .ics attachment of a booking e-mail.
Title, description, location, start and end are read from every event. A header shows the number of appointments and the date range they cover.
A4 portrait with 2 cm margins, text selectable and searchable. Several ICS files in one job are returned as a ZIP of PDFs.
Start and end times are printed exactly as the calendar stored them, for example 09:00–10:00, in the event's own time zone. Nothing is shifted to another zone. All-day events show the date only.
Line breaks, bullet lists and simple formatting in descriptions are preserved, so agendas and dial-in instructions remain readable.
The PDF is generated from text, not from a screenshot. You can search it, copy from it and it prints sharply at any size.
A calendar is personal data. The file is processed automatically, never read by a person, and deleted with the PDF two hours after conversion.
Backed by 10+ years of engineering expertise in large-scale data and scientific computing, it’s built for real-world document workflows that require accurate layout preservation, strict privacy, and dependable, high-level performance.
Uploaded files are automatically and permanently deleted within two hours.
Rated 5 stars on Trustpilot for speed, reliability, and ease of use.
Referenced in published research and used for interview transcription and qualitative data analysis.
Real numbers from every conversion on this tool since 24 October 2026. Nothing here is estimated: we record how long each job took and how large the files were. File names and contents are never stored.
share of all conversions
Times are server processing only, measured after the upload finished; upload and download are not included. Large files take longer, but the limit is the same for everyone: no account, no queue priority to buy. Updated 2026-11-10
iCalendar (RFC 5545) is the exchange format every calendar program understands. A file starts with BEGIN:VCALENDAR and contains components: VEVENT for appointments, VTODO for tasks, VJOURNAL for notes, VTIMEZONE for the time zone definitions the events refer to. Each event is a list of properties such as DTSTART, DTEND, SUMMARY, LOCATION, DESCRIPTION, RRULE for recurrence and ATTENDEE for participants. Long lines are folded at 75 characters and special characters are escaped, which is why an ICS looks garbled in a text editor.
The file is parsed with the Python icalendar library, which unfolds lines, resolves escapes and interprets dates with their time zone. Only VEVENT components are used. For each event the converter writes title, description, location, start and end to a table, then renders the table as an HTML document with a date badge and a text block per event. Descriptions pass through a Markdown renderer, so line breaks and lists survive, and an optional link pass turns URLs and e-mail addresses into clickable links. WeasyPrint lays the HTML out on A4 pages with 2 cm margins and writes the PDF.
All of these produce standard iCalendar files that the converter accepts. Files that are actually vCard (.vcf) or Outlook .pst exports are not calendars and will not convert.
The PDF is a printout, not a calendar: it does not expand recurring events, does not show attendees or reminders, and does not convert time zones. For a sortable, filterable list use ICS to Excel or ICS to CSV; for a document you can edit, ICS to Word; for a web page, ICS to HTML. Up to 20 files per job, deleted automatically two hours after conversion.
The start date (and the end date if it differs), the start and end time, the title (SUMMARY), the location (LOCATION) and the full description (DESCRIPTION). Attendees, organiser, categories, reminders, attachments and URL properties are not printed in this version. The document header reads "Appointments" followed by the number of events and the first and last date in the file.
In the order they appear in the ICS file. Most calendar exports write events chronologically, but some systems write them in creation order. If you need a strictly sorted printout, convert the file to a spreadsheet with ICS to Excel, sort it there and print from the spreadsheet.
A recurring series appears once, as its master event with the first start and end. The individual occurrences generated by the recurrence rule are not expanded. Calendar apps expand them when you print a date range, so for a complete list of every occurrence, print or export from the app that owns the calendar.
No. Each time is printed as the calendar stored it, in the event's own time zone, and the offset itself is not printed: a meeting saved as 14:00 New York time shows as 14:00, a London one also as 14:00. If the file mixes zones, check the original calendar for the exact offset. All-day events show only the date.
Yes, up to 20 files per job. Each becomes its own PDF and you receive them together as a ZIP archive. The files are not merged into one calendar; if you want a single document, import the calendars into one app and export once.
To hand a schedule to someone without a calendar app, to archive a booking or a course timetable in a format that will still open in twenty years, to attach a meeting agenda to an e-mail, or to print it. PDF keeps the content fixed, which an .ics file does not: opening it in a calendar app imports the events rather than showing them.