File to browser, directly
Nothing to install, no keys to manage. Native processing runs on upload; after that, dataset bytes move only from object storage to this browser.
Drop
GeoTIFF / COG, GeoJSON, or zipped Shapefile. Drop onto the scene, or send raw bytes to POST /upload-*.
Normalize
Your data is reprojected to WGS84 and restructured into fast, analysis-ready multiscale form, vectors and rasters alike.
Process
FGBA analytics or a canonical Zarr v3 store is built once, verified, and written to an immutable object generation.
Open
Short-lived signed GETs feed sparse FGBA reads, Zarr PNG rendering, and read-only local SQL. Use the scene or the QGIS plugin.
No dataset handy?
Preprocessed samples open directly in your browser, with a live map and local SQL.
Control plane
Upload, account, and metadata stay on this origin. Dataset responses are signed object reads from storage; there is no server tile, SQL, or object-byte proxy.
| Route | Returns |
|---|---|
| POST/upload-vector?format=geojson|shapefile | body = file bytes → { "key", "format":"fgba", "sign_url", "objects_url" } |
| POST/upload-raster?format=geotiff|cog | body = file bytes → { "key", "format":"zarr-v3", "sign_url", "objects_url" } |
| POST/api/layers/:key/sign | {paths:[relativePath]} → generation-scoped signed GET metadata |
| GET/api/layers/:key/objects | bounded object path/size listing (metadata only) |
| GET/osm/:style/{z}/{x}/{y}.png | basemap tiles (atlas · paper · onyx · terra · fjord · meridian) |
| GET/osm/styles | style list (JSON, with URL templates) |
| GET/health | 200 ok |
Tip: add ?key=<name> to an upload to pick your own layer key; omit it and one is generated.
Six self-hosted basemaps
OpenMapTiles data served from behind this domain: no key, no third-party quota. Covers below are real tiles from /osm/<style>/{z}/{x}/{y}.png; select one to load it live.
Your data, on the map.
One drop away from a live map and local SQL. Nothing to sign, nothing to install, nothing to run. Anonymous layers are removed after 7 days. Sign in free to keep yours alive.