Skip to content

Downloads

GeoLibre desktop installers are published from GitHub Releases.

View releases Launch GeoLibre Web

Release assets

Release builds are produced for:

  • Linux x64: Debian package, RPM package, and AppImage
  • Windows x64: unsigned desktop binary
  • macOS Apple Silicon: Developer ID signed and notarized DMG and app bundle (v1.4.1+)
  • macOS Intel: Developer ID signed and notarized DMG and app bundle (v1.4.1+)
  • Android: signed APKs, one per ABI (geolibre-android-arm64.apk and friends)

The Windows GitHub Release build is unsigned and may require a platform-specific trust prompt; the Microsoft Store build is signed and auto-updating. Check each release note for the exact assets and platform guidance.

Windows installation

GeoLibre is available on the Microsoft Store. The Store build is signed and updates automatically, so it installs and launches without a trust prompt:

Get GeoLibre from the Microsoft Store

winget

The Windows Package Manager distributes GeoLibre as OpenGeos.GeoLibre (the GitHub Release build):

winget install OpenGeos.GeoLibre

Manual installation

Download the Windows installer (.msi or .exe) from the latest release and run it. This build is unsigned, so Windows SmartScreen may warn you; choose More info → Run anyway to proceed.

Portable (no install)

Prefer not to install? Download the *-x64-portable.zip asset from the latest release, unzip it anywhere (including a USB drive), and run geolibre-desktop.exe. No installer, admin rights, or registry changes are involved, and the build does not auto-update, so download a newer zip to upgrade.

The portable build relies on the Microsoft Edge WebView2 Runtime, which is preinstalled on Windows 11 and current Windows 10. If the app does not start, install the Evergreen runtime. The optional Python sidecar tools (raster, conversion, AI Segmentation) need Python available just as in the installed build; everything else — including the 1,000+ tool Whitebox geoprocessing toolbox, which runs on WebAssembly — runs without it.

macOS installation

Signing and notarization apply to v1.4.1 and later. For v1.4.0 and earlier (ad-hoc signed), remove the quarantine attribute after installing, repeating it after each upgrade:

xattr -dr com.apple.quarantine "/Applications/GeoLibre Desktop.app"

macOS has two builds to choose from. The Homebrew / DMG build is the full app; the Mac App Store build is sandboxed and drops the features Apple's rules do not allow (see below).

GeoLibre is available as an official Homebrew Cask, so no tap or trust step is needed — just install:

brew install --cask geolibre

The macOS DMGs are signed with an Apple Developer ID certificate and notarized by Apple, so Gatekeeper allows the app to launch normally with no quarantine workaround. Upgrade later with:

brew upgrade --cask geolibre

To remove it:

brew uninstall --cask geolibre

Manual installation

The macOS builds are signed with an Apple Developer ID certificate and notarized by Apple, so Gatekeeper allows them to open without any extra steps:

  1. Download the DMG for your Mac (aarch64 for Apple Silicon, x64 for Intel).
  2. Open the DMG and drag GeoLibre Desktop into Applications.
  3. Launch GeoLibre Desktop from Applications.

Mac App Store

GeoLibre Desktop is also on the Mac App Store, which installs and updates it like any other Store app, with no Terminal and no Gatekeeper prompt:

Get GeoLibre Desktop on the Mac App Store

What the Store build leaves out

The App Store requires the App Sandbox and forbids downloading or running executable code that changes an app's features (guideline 2.5.2). GeoLibre's optional Python sidecar, Jupyter server, and martin tile server are all runtime downloads of executable code, so the Store build compiles them out rather than shipping them broken. Here is how the two macOS builds compare:

Feature Homebrew / DMG Mac App Store
Whitebox toolbox (1,000+ WebAssembly tools) Yes Yes
Processing → Vector, browser-engine Conversion, client raster tools Yes Yes
SQL Workspace (DuckDB-WASM, PGlite/PostGIS, in-browser Apache Sedona on CereusDB) Yes Yes
Python sidecar engines (GeoPandas vector, rasterio raster, GDAL conversion, SamGeo segmentation, the SedonaDB sidecar behind the Apache Sedona engine) Yes No
Add Data → PostgreSQL / PostGIS (martin tile server) Yes No
Notebook panel on a local JupyterLab server Yes JupyterLite only
Installing external plugins from a zip or the registry Yes Built-in and bundled plugins only
Earth Engine sign-in Yes No
In-app update checks Yes Updates come from the Store

Everything client-side is unchanged: MapLibre and deck.gl rendering, Add Data for local and remote files, DuckDB-WASM vector reading, the Whitebox WASM toolbox, Turf/Pyodide vector tools, browser-engine conversions, client raster tools, the SQL Workspace, the Python console, in-browser detection and segmentation, geocoding, and collaboration. All three SQL engines still run, Apache Sedona included: without a sidecar it uses its in-browser CereusDB build, which carries the attribute-SQL limitation that engine has everywhere else.

The sandbox also changes three behaviors:

  • Loose shapefiles: the app can only read files you picked in the dialog, so select every shapefile part (.shp, .dbf, .prj, ...) at once, or load a zipped shapefile. A .shp picked alone loads without attributes or CRS.
  • API keys from the shell environment: a sandboxed app does not inherit a login shell, so enter keys in Settings instead.
  • Reopening projects that reference local files: the file grant ends with the process, so after a relaunch a layer backed by a local path outside the app container needs to be re-added.

If you need the Python sidecar engines, Add Data → PostgreSQL/PostGIS through martin, a local Jupyter server, Earth Engine, or external plugins, install the Homebrew / DMG build instead. See Mac App Store for the full technical detail.

Linux installation

GeoLibre offers several Linux install options. The AUR, COPR, and Flatpak packages auto-update (through your system package manager or flatpak update); the AppImage updates itself in place with AppImageUpdate, and the direct .deb and .rpm downloads are updated by re-downloading the new release.

Arch Linux / Manjaro (AUR)

GeoLibre is on the AUR as geolibre-bin, a binary package that repackages the official release (no source build needed):

yay -S geolibre-bin      # or: paru -S geolibre-bin

Fedora / RHEL (COPR)

sudo dnf copr enable giswqs/geolibre
sudo dnf install geolibre

On RHEL and derivatives, enable the COPR plugin first with sudo dnf install dnf-plugins-core.

Flatpak (via FlatPark)

Works on any distribution with Flatpak. Add the remote once, then install:

flatpak remote-add --if-not-exists flatpark https://dl.flatpark.org/flatpark.flatpakrepo
flatpak install flatpark app.geolibre.GeoLibre

Debian / Ubuntu (.deb)

Download the .deb from the latest release and install it (apt resolves the dependencies):

sudo apt install ./GeoLibre.Desktop_<version>_amd64.deb

Other RPM distributions (.rpm)

sudo dnf install ./GeoLibre.Desktop-<version>-1.x86_64.rpm

Use yum on older RHEL/CentOS, or sudo zypper install --allow-unsigned-rpm ./...rpm on openSUSE.

AppImage (any distribution)

Download it, mark it executable, and run it:

chmod +x GeoLibre.Desktop_<version>_amd64.AppImage
./GeoLibre.Desktop_<version>_amd64.AppImage

AppImages need FUSE. On distros that no longer ship it by default, install libfuse2 (for example sudo apt install libfuse2) or run with --appimage-extract-and-run.

Delta updates

Releases after v2.3.0 embed update information in the AppImage, so AppImageUpdate, AppImageLauncher, AppManager and AM can update it in place. Each release also ships a .zsync file next to the AppImage, so an update transfers only the blocks that changed rather than the whole image:

appimageupdatetool GeoLibre.Desktop_<version>_amd64.AppImage

Check what an AppImage points at with ./GeoLibre.Desktop_<version>_amd64.AppImage --appimage-updateinfo.

Android installation

GeoLibre is on Google Play as a native Android app, built from the same codebase as the desktop and web builds. The Play build is signed and updates automatically:

Get GeoLibre on Google Play

Sideload an APK

Each release also attaches signed, per-ABI APKs. Download the one matching your device (geolibre-android-arm64.apk for nearly every modern phone), allow installs from unknown sources, and tap it — or install it over ADB:

adb install -r geolibre-android-arm64.apk

Sideloaded builds do not update themselves, so download a newer APK to upgrade.

Note

The Play build and the sideloaded APKs are signed with different keys, so Android will not upgrade one into the other. Uninstall the existing copy (adb uninstall org.geolibre.app) before switching between them.

Tools that need a local desktop process — the Raster, Conversion, and AI Segmentation toolboxes, and the PostgreSQL data source — are hidden on Android. The Whitebox geoprocessing toolbox runs on WebAssembly and stays available. See Android for the full list and for build instructions.

Build from source

git clone https://github.com/opengeos/GeoLibre.git
cd GeoLibre
npm install
npm run tauri:build

The default desktop build keeps the Linux binary small and uses DuckDB-WASM for DuckDB-backed browser features. To build a larger desktop binary with the native duckdb-rs vector loader enabled, run npm run tauri:build:native-duckdb.

Desktop builds require the Rust toolchain and Tauri platform prerequisites.