Lagrange is a desktop GUI client for browsing Geminispace. It offers modern conveniences familiar from web browsers, such as smooth scrolling, inline image viewing, multiple tabs, visual themes, Unicode fonts, bookmarks, history, and page outlines.

Like Gemini, Lagrange has been designed with minimalism in mind. It depends on a small number of essential libraries. It is written in C and uses SDL for hardware-accelerated graphics. OpenSSL is used for secure communications.

Screenshot (showing "")


help.gmi (release branch)


Prebuilt binaries for Windows, macOS (10.13 or later), and Linux (x86_64 and armhf)

Lagrange on Flathub (for Linux) — see known issues below

Source code and resources (.tar.gz, 9.4 MB)

On macOS you can install and upgrade via Homebrew:

brew install --cask lagrange

Please check MacPorts if you are using macOS 10.12 or older.

On Fedora and any RHEL/CentOS Stream 8 and 9 derivatives (RHEL, CentOS Stream, Alma, Rocky) that have the EPEL repos enabled:

sudo dnf install lagrange

On openSUSE Tumbleweed:

sudo zypper install lagrange

On other platforms (e.g., *BSD), you'll need to compile the source tarball (CMake).

What's new?

Git tags Gemini feed

Releases RSS feed


Release announcement


If you have questions, comments or improvement ideas, you can reach me via:

GitHub: Bug reports, feature requests, PRs

Codeberg: PRs

UI translations (Weblate) on Mastodon

Email (plain or encrypted)

Known issues


Flatpak applications run in a sandbox that limits their access to the rest of the system. At the moment, Lagrange has not been fully adapted to use Flatpak Portal APIs, so the following are known issues:


The environment variable `SDL_VIDEODRIVER=wayland` can be used to force SDL to use Wayland instead of X11. However, SDL does not have full support for Wayland at the moment. You should set the Lagrange CMake build option ENABLE_POPUP_MENUS to NO. If there are issues with resizing windows, also set ENABLE_RESIZE_DRAW to NO.

Documentation and tutorials

How to compile (in

The repository README details the basic build steps, configuration options, and has a few platform-specific notes.

Alex Schroeder: Capsule update using Lagrange on the phone

A thorough walkthrough of how to upload text and files via Titan using the (beta) version of Lagrange on an iPhone.

See also

Gemlog posts about Lagrange

Font Library

Authors and contributors 🥇

Emoji test page


Proxy information
Original URL
Status code
Capsule response time
923.249014 milliseconds
Gemini-to-HTML time
0.132717 milliseconds

This content has been proxied by September (82e17).