A Linux desktop tool
ics2gcal
odrakirmusic/ics2gcal
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
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
- Open Google Calendar's settings
- Find Import & export
- Upload the
.icsfile - Pick a calendar
- Press Import
- Dismiss the popup
- Go back and look for the event
With ics2gcal
- Double-click the
.icsfile - 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
DURATIONwhere there is noDTEND- 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.
-
Take a cutting
git clone https://github.com/odrakirmusic/ics2gcal.gitcd ics2gcal -
Plant it
./install.shIt copies the script to
~/.local/bin/ics2gcal, adds a desktop entry, and makes it the default app fortext/calendarfiles. -
Use it
Double-click any
.icsfile. Or, from a terminal:ics2gcal invite.icsTo 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