Bring Your Own Data (BYOD)
Adding your own terrain/basemap sources, including local files
Add your own terrain or basemap source from the "Add New Terrain Dataset" dialog (Sources → Terrain/Basemap). Supported shapes:

Add New Terrain Dataset dialog, with the Sample datasets already loaded behind it — Hillshade (Aspect Multidir Colors), wide Western Europe view
- XYZ Terrarium or Terrain-RGB tiles (a raw tile URL template) — the same encoding used by Mapterhorn, Mapbox, MapTiler, and AWS Terrain Tiles, this app's built-in terrain sources
- COG (Cloud-Optimized GeoTIFF), via Titiler or read directly in-browser via @geomatico/maplibre-cog-protocol. On the geomatico path (the default — see Streaming & Storage Settings), a DSM/DEM GeoTIFF must be both a genuine COG — internally tiled and pyramided with overviews — and in Web Mercator (EPSG:3857); anything else, route it through Titiler (which reprojects server-side) or fix it up first:
gdalwarp -t_srs EPSG:3857 -of COG src.tif out.tif.
A heavily-loaded Terrain source list — several custom BYOD sources (national LiDAR DSMs, a Copernicus GLO-30 export) alongside the built-in defaults — comparing two of them side by side is exactly what Split Modes covers.
Shareable via URL: a link whose sourceA/sourceB/basemapSource… params reference a sample-library id (e.g. ?sourceB=custom-ign-lidarhd-dtm-wms-raw) auto-adds that source to the recipient's BYOD list on load, and ?addSources=id1,id2 prepopulates several samples at once without selecting any of them — handy for handing a colleague both the IGN DSM and DTM ready to toggle between.
Local (offline) COG terrain sources
Two ways to use a COG that lives on your own disk, without uploading it anywhere:
Local COG file (built into the app)
Pick a .tif/.tiff with the Local COG file (this browser only) type — the app streams it straight off disk via a blob: URL through the same cog:// reader used for remote COGs.
- Never uploaded. Not persisted by default — after a reload, re-select the same file to resume — unless you enable Settings → Browser Local Storage Persistence → Local COG Files, which copies picked files into the browser's private storage (OPFS) so they survive reloads; that panel also shows per-category storage usage against the site's quota, with a Clear button to free it. Local COGs can also travel inside a Project export (Settings → Project) as part of its
.zipbundle. - Works for the primary terrain source and its derivative visualizations, the Elevation Picker, and client-side GeoTIFF export. Contour Lines still needs Titiler (it can't reach a local file).
- Must be a genuinely tiled COG (e.g.
gdal_translate -of COG src.tif out_cog.tif), not a plain strip-organized GeoTIFF — an untiled file forces large repeated decodes and can crash the tab. - Must already be in Web Mercator (EPSG:3857) — reproject first with
gdalwarp -t_srs EPSG:3857 -of COG src.tif out_3857.tifif it isn't, or use the remote COG type in Titiler mode instead (which reprojects server-side).
Localhost static file server
Serve the directory containing your COG with any Range-request-capable static server:
npx serve --cors -p 8080 .Then add it as a normal COG source with URL http://localhost:8080/your-file.tif. http://localhost is exempt from mixed-content blocking, so this HTTPS app can fetch it directly. Unlike the built-in local-file picker, this survives reloads and works in any browser.
Non-geo relief visualization
For non-georeferenced data (e.g. frescoes, artifact scans), see Frescoes & Artifact Scans for the workflow (including a real built-in sample), or the Non-Geo Relief Visualization guide directly for the COG parameters needed to avoid artifacts.