GratisGIS
Sign in

This is a public test instance. Resets to a curated golden state every day at 04:00 UTC.

Sign in with tester-admin / Admin123!, tester-contributor / Contributor123!, or tester-viewer / Viewer123!. Items, users, and edits you create vanish at the next reset. Found a problem? Use the Feedback button in the corner of any page. No account needed.

New here? Open the Sample: Randolph County folder after signing in: a complete demo workspace with styled layers, a map, a form with responses, a field survey, and public apps, all built on one small West Virginia county.

GratisGIS

Self-hosted, open-source GIS. Explore the Randolph County, West Virginia demo below, then run the same workspace on your own hardware.

See it running

Live dashboards, maps, and data GratisGIS has shared publicly. No account needed.

Open source GIS portal

A self-hosted portal, a field PWA, and QGIS

GratisGIS is for teams that want their data on their own hardware and want out of ArcGIS Online seat licenses. What is credible today is the portal, sharing, field collection, and QGIS. It is not a full ArcGIS Online replacement, and it is not a drop-in for Experience Builder, Survey123, Field Maps, or enterprise identity depth. Built on open components (PostGIS, MapLibre, Keycloak). No license fees; your only cost is the hardware (or cloud bill) you choose to run it on.

Dashboards ship as web-app layouts (KPI Dashboard and Operations Board). Dedicated document report templates are not built. Tool recipes exist; a node-graph builder does not.

  • Self-hosted on your own hardware

    PostGIS-backed datasets, web maps, and forms; bring data in from shapefiles, GeoJSON, GDB, or any OGR-supported format. Docker compose, single-command deploy, runs on a $20/month VPS. No license fees, no SaaS lock-in.

  • First-class QGIS support

    An official plugin in the QGIS plugin repository: browse and search the portal, publish layers and whole projects from the canvas, take a layer to the field, and sync edits back. No plugin? Rasters appear in QGIS's built-in catalog browser and layers open over standard APIs, with an API key for private content.

  • Field-ready PWA

    A data-collection app that installs to the home screen, works offline, and syncs when you're back online.

  • Works with the tools you already use

    OGC API Features, Tiles, Styles, and Records; a STAC catalog; CSW 2.0.2; Schema.org JSON-LD; WMS / WFS service references. WebMap JSON export points at the portal's own layer URLs. Whether ArcGIS Pro, ArcGIS Online, or QGIS open that file depends on the importing tool. Importing a WebMap JSON file keeps FeatureServer URLs as live references; copying hosted features into the portal is a separate stage step.

Operational features the portal ships with

  • Housekeeping that runs itself

    Stale items get flagged. Inactive users get auto-disabled. Expiring shares trigger warnings. Spatial extents get recomputed on a schedule. Admins get a dashboard, not a backlog.

  • Sync that doesn't lose your work

    Offline edits go to a per-edit queue with isolated retries. A bad row doesn't poison the rest. Schema changes notify every device that has cached the deployment so the field crew rebuilds before they next sync.

  • Email notifications you actually control

    Built-in templates for shares, expirations, schema changes, form submissions, and field captures. Org admins customize the copy through a guided editor with click-to-insert variables. Routed through one SMTP, not a sprawl of webhooks.

  • Sharing granularity that makes sense

    Share an item with a user, a group, or a folder. Folder shares cascade to every item in the folder. Per-share row scope ('all' vs 'own') and geographic clip (polygon) layer on top. View / download / edit / admin tiers, not a single 'shared' bit.

View on GitHubSend feedbackDiscussionsSend feedback goes to the maintainer's inbox; no account required. Discussions is the GitHub place for longer threads.

What's new

  • Sign-in settings load again

    Organization admins can open Sign-in and see work-account methods and the authenticator switch. A map that uses a built-in basemap such as Positron no longer stops the Housekeeping page from loading.

  • Phone layouts, and building from a description

    Dashboards, maps, and the item filter now fit a phone: indicators sit two across, maps and charts stack, and the filter opens as a sheet instead of running off the screen. You can also describe a layer, map, form, or app, by typing or by voice, and the portal builds it from layers you can already read. Ask a question about a layer you can open, download a PDF receipt of a form response, and import a spreadsheet that only has an address column.

  • A quieter frame, and an optional writing assistant

    The portal chrome is now a cool chart sheet, so the map stays the loudest thing on the page. Organization admins can also turn on a writing assistant (ChatGPT, Claude, Grok, or a model you host) that drafts item text from the title, description, and field names. It stays off until an admin saves a key, and the key never comes back to the browser.

  • The field app works where the signal does not

    Take a photo with no connection, and take it while you are still filling in the record: it stays on the device with the record and uploads once the record itself has landed, and nothing is reported as sent while its photo is still on the phone. Edits the server refuses, because a value breaks the layer's rules or you have lost access to the layer, no longer retry forever or vanish. A red "edits need attention" chip lists them with the reason; fix the value and retry, or discard the edit. Correcting a record you added offline no longer loses the original. And if your data lives in a spreadsheet, the New Data Layer wizard now takes a CSV and finds the coordinate columns itself, whether they are called latitude and longitude, LAT and LNG, or x and y.

  • Edit a layer straight from the map

    Open a map you can edit and an Edit toolbar appears next to the selection tools, on any layer you have permission to change. Click a feature to drag its vertices, draw a new one and fill in its attributes, or delete one, all without building an editing app first. The attribute table edits inline too, and a Calculate Field option fills a column from an expression. Every save is checked against the layer's rules, so a value the layer would not accept is refused with a plain-English reason. Field edits the server refuses now wait for you with that reason instead of retrying forever.