Skip to Content
Odrakir
the garden

A Linux desktop tool

ics2gcal

odrakirmusic/ics2gcal

Linux Python

Double-click an invite on Linux, and Google Calendar opens with the event already filled in. You press Save; that's the whole ceremony.

in bloom works today · install from source

In bloom: works today · install from source

Why it grew

Seven steps, or two

Opening an invite in Google Calendar on Linux used to be a walk all the way round the hedge. Now there's a gate.

Without it

  1. Open Google Calendar's settings
  2. Find Import & export
  3. Upload the .ics file
  4. Pick a calendar
  5. Press Import
  6. Dismiss the popup
  7. Go back and look for the event

With ics2gcal

  1. Double-click the .ics file
  2. Press Save

It reads the invite and opens a Google Calendar new event link with the title, time, place, description and recurrence already filled in.

Under the leaves

Made for real invites

A single Python script, standard library only, that has met the files people actually get sent.

  • Outlook and Exchange invites, Windows time-zone names included, like W. Europe Standard Time
  • IANA time zones, UTC and floating times
  • All-day and multi-day events
  • DURATION where there is no DTEND
  • Recurring events, from their RRULE
  • Several events in one file: one tab each
  • A desktop notification when the file is a cancellation, or can't be read

Good manners

It never speaks for you

No invites sent

Attendees are left out on purpose, so pressing Save can never email anyone on your behalf.

Under Google's limit

Descriptions are trimmed to 2,000 characters, so the event always fits in a link.

Your account, your choice

Signed in to several Google accounts? Set ICS2GCAL_ACCOUNT to an address, or to an index like 1.

Plant it

Three lines in a terminal

It installs for your user only, and needs nothing but Python.

  1. Take a cutting

    git clone https://github.com/odrakirmusic/ics2gcal.git
    cd ics2gcal
  2. Plant it

    ./install.sh

    It copies the script to ~/.local/bin/ics2gcal, adds a desktop entry, and makes it the default app for text/calendar files.

  3. Use it

    Double-click any .ics file. Or, from a terminal:

    ics2gcal invite.ics

    To print the link instead of opening it:

    ics2gcal --print invite.ics

To dig it up again:

rm ~/.local/bin/ics2gcal ~/.local/share/applications/ics2gcal.desktop

The back of the packet

The small print

Licence
MIT
Tags
Linux Python
Works with
Linux desktops
Needs
Python 3.9 or newer, standard library only; a browser signed in to Google
Status
in bloom works today · install from source
Source
odrakirmusic/ics2gcal
Last tended
1 October 2026

Elsewhere in the garden

More seeds