Terrain Viewer
Features

National Open-Data Terrain

Government elevation services from national mapping agencies, ready to load as terrain sources

The built-in sources on Terrain and Basemap Sources are worldwide tilesets. This page covers the other half of the library: elevation services published directly by national mapping agencies, at resolutions global tilesets can't match — 0.5 m LiDAR for France and the Netherlands against ~30 m for a global DEM.

Load them from Sources → Terrain → Library, which opens a picker where each dataset is added or removed with one click (or all at once), graded against Mapterhorn and filterable by name, or open any of them directly with a ?terrainSourceA=<id> link. To see where each one has data before loading it, turn on its footprint in Coverage overlays.

The terrain dataset library, tiered against Mapterhorn with DTM/DSM pills and the API-served vs best-bulk resolution toggle

AFG — AfghanistanAGO — AngolaAGO — AngolaALB — AlbaniaARE — United Arab EmiratesARG — Argentina (regional data only)ARG — Argentina (regional data only)ARM — ArmeniaATA — AntarcticaATA — AntarcticaATA — AntarcticaATA — AntarcticaATA — AntarcticaATA — AntarcticaATA — AntarcticaATA — AntarcticaATF — French Southern and Antarctic LandsAUS — Australia (regional data only)AUS — Australia (regional data only)AUT — Austria (regional data only)AZE — AzerbaijanAZE — AzerbaijanBDI — BurundiBEL — Belgium (regional data only)BEN — BeninBFA — Burkina FasoBGD — BangladeshBGR — BulgariaBHS — The BahamasBHS — The BahamasBHS — The BahamasBIH — Bosnia and HerzegovinaBLR — BelarusBLZ — BelizeBOL — BoliviaBRA — BrazilBRN — BruneiBTN — BhutanBWA — BotswanaCAF — Central African RepublicCAN — CanadaCAN — CanadaCAN — CanadaCAN — CanadaCAN — CanadaCAN — CanadaCAN — CanadaCAN — CanadaCAN — CanadaCAN — CanadaCAN — CanadaCAN — CanadaCAN — CanadaCAN — CanadaCAN — CanadaCAN — CanadaCAN — CanadaCAN — CanadaCAN — CanadaCAN — CanadaCAN — CanadaCAN — CanadaCAN — CanadaCAN — CanadaCAN — CanadaCAN — CanadaCAN — CanadaCAN — CanadaCAN — CanadaCAN — CanadaCHE — SwitzerlandCHL — ChileCHL — ChileCHN — People's Republic of ChinaCHN — People's Republic of ChinaCIV — Ivory CoastCMR — CameroonCOD — Democratic Republic of the CongoCOG — Republic of the CongoCOL — ColombiaCRI — Costa RicaCUB — CubaCYN — Turkish Republic of Northern CyprusCYP — CyprusCZE — Czech RepublicDEU — Germany (regional data only)DJI — DjiboutiDNK — DenmarkDNK — DenmarkDOM — Dominican RepublicDZA — AlgeriaECU — EcuadorEGY — EgyptERI — EritreaESP — SpainEST — EstoniaETH — EthiopiaFIN — FinlandFJI — FijiFJI — FijiFJI — FijiFLK — Falkland IslandsFRA — FranceFRA — FranceFRA — FranceGAB — GabonGBR — United KingdomGBR — United KingdomGEO — GeorgiaGHA — GhanaGIN — GuineaGMB — The GambiaGNB — Guinea-BissauGNQ — Equatorial GuineaGRC — GreeceGRC — GreeceGRL — GreenlandGTM — GuatemalaGUY — GuyanaHND — HondurasHRV — CroatiaHTI — HaitiHUN — HungaryIDN — IndonesiaIDN — IndonesiaIDN — IndonesiaIDN — IndonesiaIDN — IndonesiaIDN — IndonesiaIDN — IndonesiaIDN — IndonesiaIDN — IndonesiaIDN — IndonesiaIDN — IndonesiaIDN — IndonesiaIDN — IndonesiaIND — IndiaIRL — IrelandIRN — IranIRQ — IraqISL — IcelandISR — IsraelITA — ItalyITA — ItalyITA — ItalyJAM — JamaicaJOR — JordanJPN — JapanJPN — JapanJPN — JapanKAZ — KazakhstanKEN — KenyaKGZ — KyrgyzstanKHM — CambodiaKOR — South KoreaKOS — KosovoKWT — KuwaitLAO — LaosLBN — LebanonLBR — LiberiaLBY — LibyaLKA — Sri LankaLSO — LesothoLTU — Lithuania (regional data only)LUX — LuxembourgLVA — LatviaMAR — MoroccoMDA — MoldovaMDG — MadagascarMEX — MexicoMKD — North MacedoniaMLI — MaliMMR — MyanmarMNE — MontenegroMNG — MongoliaMOZ — MozambiqueMRT — MauritaniaMWI — MalawiMYS — MalaysiaMYS — MalaysiaNAM — NamibiaNCL — New CaledoniaNER — NigerNGA — NigeriaNIC — NicaraguaNLD — NetherlandsNOR — NorwayNOR — NorwayNOR — NorwayNOR — NorwayNPL — Nepal (regional data only)NZL — New ZealandNZL — New ZealandOMN — OmanOMN — OmanPAK — PakistanPAN — PanamaPER — PeruPHL — PhilippinesPHL — PhilippinesPHL — PhilippinesPHL — PhilippinesPHL — PhilippinesPHL — PhilippinesPHL — PhilippinesPNG — Papua New GuineaPNG — Papua New GuineaPNG — Papua New GuineaPNG — Papua New GuineaPOL — PolandPRI — Puerto RicoPRK — North KoreaPRK — North KoreaPRT — PortugalPRY — ParaguayPSX — PalestineQAT — QatarROU — RomaniaRUS — RussiaRUS — RussiaRUS — RussiaRUS — RussiaRUS — RussiaRUS — RussiaRUS — RussiaRUS — RussiaRUS — RussiaRUS — RussiaRUS — RussiaRUS — RussiaRUS — RussiaRUS — RussiaRWA — RwandaSAH — Western SaharaSAU — Saudi ArabiaSDN — SudanSDS — South SudanSEN — SenegalSLB — Solomon IslandsSLB — Solomon IslandsSLB — Solomon IslandsSLB — Solomon IslandsSLB — Solomon IslandsSLE — Sierra LeoneSLV — El SalvadorSOL — SomalilandSOM — SomaliaSRB — SerbiaSUR — SurinameSVK — SlovakiaSVN — SloveniaSWE — SwedenSWZ — EswatiniSYR — SyriaTCD — ChadTGO — TogoTHA — ThailandTJK — TajikistanTKM — TurkmenistanTLS — East TimorTTO — Trinidad and TobagoTUN — TunisiaTUR — TurkeyTUR — TurkeyTWN — TaiwanTZA — Tanzania (regional data only)UGA — UgandaUKR — UkraineURY — UruguayUSA — United States of AmericaUSA — United States of AmericaUSA — United States of AmericaUSA — United States of AmericaUSA — United States of AmericaUSA — United States of AmericaUSA — United States of AmericaUSA — United States of AmericaUSA — United States of AmericaUSA — United States of AmericaUZB — UzbekistanVEN — VenezuelaVNM — VietnamVUT — VanuatuVUT — VanuatuYEM — YemenZAF — South AfricaZMB — ZambiaZWE — ZimbabweARGAUSAUTCANDEUESPFINFRAGBRIDNITAJPNMEXNORNPLNZLTZAUSA
20 countries with an integrated national endpoint (filled), 8 with regional data only (light). Hover a country for its code and name. Filling the whole country is a simplification — England's dataset covers ~75% of England, and Austria's shipped source is Tirol only. Continental Copernicus GLO-30 is excluded; see below.
AFG — AfghanistanAGO — AngolaAGO — AngolaALB — AlbaniaARE — United Arab EmiratesARG — Argentina (regional data only)ARG — Argentina (regional data only)ARM — ArmeniaATA — AntarcticaATA — AntarcticaATA — AntarcticaATA — AntarcticaATA — AntarcticaATA — AntarcticaATA — AntarcticaATA — AntarcticaATF — French Southern and Antarctic LandsAUS — Australia (regional data only)AUS — Australia (regional data only)AUT — Austria (regional data only)AZE — AzerbaijanAZE — AzerbaijanBDI — BurundiBEL — Belgium (regional data only)BEN — BeninBFA — Burkina FasoBGD — BangladeshBGR — BulgariaBHS — The BahamasBHS — The BahamasBHS — The BahamasBIH — Bosnia and HerzegovinaBLR — BelarusBLZ — BelizeBOL — BoliviaBRA — BrazilBRN — BruneiBTN — BhutanBWA — BotswanaCAF — Central African RepublicCAN — CanadaCAN — CanadaCAN — CanadaCAN — CanadaCAN — CanadaCAN — CanadaCAN — CanadaCAN — CanadaCAN — CanadaCAN — CanadaCAN — CanadaCAN — CanadaCAN — CanadaCAN — CanadaCAN — CanadaCAN — CanadaCAN — CanadaCAN — CanadaCAN — CanadaCAN — CanadaCAN — CanadaCAN — CanadaCAN — CanadaCAN — CanadaCAN — CanadaCAN — CanadaCAN — CanadaCAN — CanadaCAN — CanadaCAN — CanadaCHE — SwitzerlandCHL — ChileCHL — ChileCHN — People's Republic of ChinaCHN — People's Republic of ChinaCIV — Ivory CoastCMR — CameroonCOD — Democratic Republic of the CongoCOG — Republic of the CongoCOL — ColombiaCRI — Costa RicaCUB — CubaCYN — Turkish Republic of Northern CyprusCYP — CyprusCZE — Czech RepublicDEU — Germany (regional data only)DJI — DjiboutiDNK — DenmarkDNK — DenmarkDOM — Dominican RepublicDZA — AlgeriaECU — EcuadorEGY — EgyptERI — EritreaESP — SpainEST — EstoniaETH — EthiopiaFIN — FinlandFJI — FijiFJI — FijiFJI — FijiFLK — Falkland IslandsFRA — FranceFRA — FranceFRA — FranceGAB — GabonGBR — United KingdomGBR — United KingdomGEO — GeorgiaGHA — GhanaGIN — GuineaGMB — The GambiaGNB — Guinea-BissauGNQ — Equatorial GuineaGRC — GreeceGRC — GreeceGRL — GreenlandGTM — GuatemalaGUY — GuyanaHND — HondurasHRV — CroatiaHTI — HaitiHUN — HungaryIDN — IndonesiaIDN — IndonesiaIDN — IndonesiaIDN — IndonesiaIDN — IndonesiaIDN — IndonesiaIDN — IndonesiaIDN — IndonesiaIDN — IndonesiaIDN — IndonesiaIDN — IndonesiaIDN — IndonesiaIDN — IndonesiaIND — IndiaIRL — IrelandIRN — IranIRQ — IraqISL — IcelandISR — IsraelITA — ItalyITA — ItalyITA — ItalyJAM — JamaicaJOR — JordanJPN — JapanJPN — JapanJPN — JapanKAZ — KazakhstanKEN — KenyaKGZ — KyrgyzstanKHM — CambodiaKOR — South KoreaKOS — KosovoKWT — KuwaitLAO — LaosLBN — LebanonLBR — LiberiaLBY — LibyaLKA — Sri LankaLSO — LesothoLTU — Lithuania (regional data only)LUX — LuxembourgLVA — LatviaMAR — MoroccoMDA — MoldovaMDG — MadagascarMEX — MexicoMKD — North MacedoniaMLI — MaliMMR — MyanmarMNE — MontenegroMNG — MongoliaMOZ — MozambiqueMRT — MauritaniaMWI — MalawiMYS — MalaysiaMYS — MalaysiaNAM — NamibiaNCL — New CaledoniaNER — NigerNGA — NigeriaNIC — NicaraguaNLD — NetherlandsNOR — NorwayNOR — NorwayNOR — NorwayNOR — NorwayNPL — Nepal (regional data only)NZL — New ZealandNZL — New ZealandOMN — OmanOMN — OmanPAK — PakistanPAN — PanamaPER — PeruPHL — PhilippinesPHL — PhilippinesPHL — PhilippinesPHL — PhilippinesPHL — PhilippinesPHL — PhilippinesPHL — PhilippinesPNG — Papua New GuineaPNG — Papua New GuineaPNG — Papua New GuineaPNG — Papua New GuineaPOL — PolandPRI — Puerto RicoPRK — North KoreaPRK — North KoreaPRT — PortugalPRY — ParaguayPSX — PalestineQAT — QatarROU — RomaniaRUS — RussiaRUS — RussiaRUS — RussiaRUS — RussiaRUS — RussiaRUS — RussiaRUS — RussiaRUS — RussiaRUS — RussiaRUS — RussiaRUS — RussiaRUS — RussiaRUS — RussiaRUS — RussiaRWA — RwandaSAH — Western SaharaSAU — Saudi ArabiaSDN — SudanSDS — South SudanSEN — SenegalSLB — Solomon IslandsSLB — Solomon IslandsSLB — Solomon IslandsSLB — Solomon IslandsSLB — Solomon IslandsSLE — Sierra LeoneSLV — El SalvadorSOL — SomalilandSOM — SomaliaSRB — SerbiaSUR — SurinameSVK — SlovakiaSVN — SloveniaSWE — SwedenSWZ — EswatiniSYR — SyriaTCD — ChadTGO — TogoTHA — ThailandTJK — TajikistanTKM — TurkmenistanTLS — East TimorTTO — Trinidad and TobagoTUN — TunisiaTUR — TurkeyTUR — TurkeyTWN — TaiwanTZA — Tanzania (regional data only)UGA — UgandaUKR — UkraineURY — UruguayUSA — United States of AmericaUSA — United States of AmericaUSA — United States of AmericaUSA — United States of AmericaUSA — United States of AmericaUSA — United States of AmericaUSA — United States of AmericaUSA — United States of AmericaUSA — United States of AmericaUSA — United States of AmericaUZB — UzbekistanVEN — VenezuelaVNM — VietnamVUT — VanuatuVUT — VanuatuYEM — YemenZAF — South AfricaZMB — ZambiaZWE — ZimbabweARGAUSAUTBELCANCHECZEDEUESPESTFINFRAGBRHTIIDNITAJPNLTUMEXNLDNORNPLNZLTZAURYUSA
Europe at 3×. Hover a country for its code and name. Filling the whole country is a simplification — England's dataset covers ~75% of England, and Austria's shipped source is Tirol only. Continental Copernicus GLO-30 is excluded; see below.

Credit where it is due: Mapterhorn

This page only exists because Mapterhorn did the hard part first. It is an open, community-run project that solves the same problem from the other end: rather than talking to each agency's API live, it ingests the world's open elevation data — API endpoints, hundred-thousand-file bulk archives, S3 buckets, national download portals — normalises it, and republishes the result as one global, unified Terrarium raster tileset distributed as PMTiles, with a coverage map and full attribution for every contributing dataset.

Its source catalog is the best inventory of open elevation data anywhere: 153 sources across 32 countries, each with a licence, a resolution and a file list. Working through it makes the shape of the problem obvious — those 153 sources amount to roughly 690,000 individual files, overwhelmingly .tif, .asc and .zip bulk downloads. Only a handful are a single fetchable file, and only a minority of countries expose a live API at all.

That is the division of labour between the two projects. Mapterhorn gives you consistent global terrain with no per-country special cases. The sources below skip the ingest entirely and stream from the agency in real time, which keeps the native resolution — 0.5 m where the agency publishes 0.5 m — at the cost of only working country by country, at whatever speed that government's server manages. Mapterhorn is the sensible default; these are for when you want the sharpest possible data over one country.

The Mapterhorn issue tracking new data sources is also where several of the endpoints below were first discussed.

How these compare to Mapterhorn

vs MapterhornCountSources
⬆️ Not in Mapterhorn5HKG 5 m vs 30 m global · HTI 1.5 m vs 30 m global · IDN 8 m vs 30 m global · MEX 15 m vs 30 m global · URY 30 m vs 30 m global
⬆️ Finer here7CZE 0.5 m vs 5 m · CZE 2 m vs 5 m · NLD 0.5 m vs 5 m · NOR 0.25 m vs 1 m
↔️ Same as Mapterhorn9CHE ? m vs 0.5 m · EST 1 m · FRA 0.5 m · GBR 1 m · NZL 1 m · USA 1 m
⬇️ Finer in Mapterhorn11CAN 30 m vs 2 m · CHE 10 m vs 0.5 m · ESP 5 m vs 0.5 m · FIN 10 m vs 2 m · FRA 1 m vs 0.5 m · FRO 25 m vs 10 m · ITA 10 m vs 1 m · JPN 5 m vs 1 m

Only a minority are an actual upgrade. That is worth stating plainly, because it is not obvious why a national agency's own API would ever be coarser than a re-published global tileset — and the reason is that the two get their data by different routes.

Mapterhorn ingests whatever an agency publishes in bulk: multi-terabyte download archives, S3 buckets, hundreds of thousands of tiles. Agencies routinely publish their finest LiDAR that way while exposing only a coarser, cheaper product over a live API — Italy publishes 1 m regional LiDAR for download but serves TINITALY at 10 m; Spain's PNOA LiDAR is 0.5 m in bulk while the IDEE tile service is ~5 m. So Mapterhorn can be finer.

It runs the other way too. Norway's hoydedata.no ImageServer resamples a 0.25 m grid on demand, four times finer than the 1 m product Mapterhorn downloaded. And where an agency publishes no bulk data at all, Mapterhorn has nothing to ingest and falls back to global 30 m, so any working API wins by default.

One caveat on both sides: Mapterhorn's delivered detail is also capped by its tileset's max zoom, whereas these APIs resample to whatever window is asked for.

The datasets

⬆️ Not in Mapterhorn

Countries Mapterhorn has no national source for, so it falls back to global Copernicus GLO-30 (~30 m). These add coverage that does not otherwise exist.

ISO A3CountryDatasetServed asEndpointAPI resolutionBulk downloadCoverageMapterhornView
HKGHKGLands Department DTM 5m - LERClerctiles.arcgis.com5 msameHong Kong SAR (LERC tiles, includes elevated roads)not ingestedOpen ↗
HTIHaitiCNIGS / World Bank LiDAR DTM 1.5m - VRT via titilerVRTopentopography.s3.sdsc.edu1.5 msameNationwide, but renders only from z12 (VRT without overviews)not ingestedOpen ↗
IDNIndonesiaBIG DEMNAS ~8m - ImageServer raw Float32WMS/WCS raw Float32geoservices.big.go.id~8 msameNationwidenot ingestedOpen ↗
MEXMexicoINEGI CEM 3.0 - TMS custom RGB encodingXYZ tiles (Terrain-RGB)gaia.inegi.org.mx~15 msameNationwide (clips above ~5553 m)not ingestedOpen ↗
URYUruguayIDEuy MDT nacional 30m - WCS 2.0 raw Float32WMS/WCS raw Float32mapas.ide.uy30 msameNationwide (7–11 s per tile)not ingestedOpen ↗

⬆️ In Mapterhorn, but finer here

The agency's live API serves a finer grid than the bulk data Mapterhorn ingested.

ISO A3CountryDatasetServed asEndpointAPI resolutionBulk downloadCoverageMapterhornView
CZECzechiaCUZK DMP 0.5m (surface) - ImageServer raw Float32WMS/WCS raw Float32ags.cuzk.gov.cz0.5 msameNationwide (surface model)5 mOpen ↗
CZECzechiaCUZK DMR 5G 2m - ImageServer raw Float32WMS/WCS raw Float32ags.cuzk.gov.cz2 msameNationwide5 mOpen ↗
NLDNetherlandsAHN DSM 0.5m (surface) - WCS raw Float32WMS/WCS raw Float32service.pdok.nl0.5 msameNationwide5 mOpen ↗
NLDNetherlandsAHN DTM 0.5m - WCS raw Float32WMS/WCS raw Float32service.pdok.nl0.5 msameNationwide5 mOpen ↗
NLDNetherlandsnDSM AHN DSM − DTM 0.5m - deriveddem-diffdiff:———5 mOpen ↗
NORNorwayKartverket NDH DOM 0.25m (surface) - ImageServer raw Float32WMS/WCS raw Float32hoydedata.no0.25 msameNationwide (excl. Svalbard)1 mOpen ↗
NORNorwayKartverket NDH DTM 0.25m - ImageServer raw Float32WMS/WCS raw Float32hoydedata.no0.25 msameNationwide (excl. Svalbard)1 mOpen ↗

↔️ In Mapterhorn at the same resolution

No resolution gain. Worth using only when you want data straight from the agency rather than a re-published tileset.

ISO A3CountryDatasetServed asEndpointAPI resolutionBulk downloadCoverageMapterhornView
CHECHEswisstopo Terrain 3D (quantized mesh, keyless)quantized-mesh3d.geo.admin.ch———0.5 mOpen ↗
ESTEstoniaMaa-amet LiDAR DTM 1m - WCS raw Float32WMS/WCS raw Float32teenus.maaamet.ee1 msameNationwide1 mOpen ↗
FRAFranceIGN Lidar HD DSM - WMS raw Float32WMS/WCS raw Float32data.geopf.fr0.5 msameMainland France + Corsica0.5 mOpen ↗
FRAFranceIGN Lidar HD DTM - WMS raw Float32WMS/WCS raw Float32data.geopf.fr0.5 msameMainland France + Corsica0.5 mOpen ↗
FRAFrancenDSM IGN Lidar HD DSM − DTM 0.5m - deriveddem-diffdiff:———0.5 mOpen ↗
GBRUnited KingdomEngland EA LIDAR Composite DTM 1m - WCS raw Float32WMS/WCS raw Float32environment.data.gov.uk1 msameEngland only, ~75% covered1 mOpen ↗
NZLNZLLINZ national 1m LiDAR DEM - Terrain-RGBXYZ tiles (Terrain-RGB)basemaps.linz.govt.nz1 msameRegional 1 m LiDAR over an 8 m national base1 mOpen ↗
USAUnited StatesUSGS 3DEP - ImageServer raw Float32WMS/WCS raw Float32elevation.nationalmap.gov1–10 msameNationwide incl. AK, HI, PR1 mOpen ↗
USAUnited StatesUSGS 3DEP - WMS raw Float32WMS/WCS raw Float32elevation.nationalmap.gov1–10 msameNationwide incl. AK, HI, PR — same mosaic over the WMS front end1 mOpen ↗

⬇️ In Mapterhorn at finer resolution

Mapterhorn ingested higher-resolution bulk data than the agency exposes over its API — for these, Mapterhorn is the better choice.

ISO A3CountryDatasetServed asEndpointAPI resolutionBulk downloadCoverageMapterhornView
CANCanadaNRCan MRDEM 30m DTM - single national COGCOGcanelevation-dem.s3.ca-central-1.amazonaws.com30 m1 mNationwide, one single COG (via titiler)2 mOpen ↗
CHECHEswisstopo swissALTIRegio 10m - single national COGCOGdata.geo.admin.ch10 m0.5 mNationwide, one single COG file0.5 mOpen ↗
ESPSpainTerrainRGB Nuevo servicio XYZ del Modelo Digital de Elevaciones de España:XYZ tiles (Terrain-RGB)xyz-mdt.idee.es~5 m2 mMainland + Balearics (not the Canaries)0.5 mOpen ↗
FINFinlandNLS/Paituli DEM 10m - WCS raw Float32WMS/WCS raw Float32paituli.csc.fi10 m2 mNationwide2 mOpen ↗
FRAFranceGround change: IGN Lidar HD DTM (2021+) - RGE ALTI DTM (2009-2020) - deriveddem-diffdiff:1 msameMainland + Corsica — ground change between the two IGN DTM generations0.5 mOpen ↗
FRAFranceIGN RGE ALTI 1-5m (mainland + overseas departments) - WMS raw Float32WMS/WCS raw Float32data.geopf.fr1–5 msameMainland + Réunion, Guadeloupe, Martinique, Guyane, Mayotte, St-Pierre-et-Miquelon0.5 mOpen ↗
FRAFranceIGN RGE-ALTI Cquest repack - vrt:///vsicurl/https://COGdata.cquest.org1 msameMainland France (RGE ALTI, community repack)0.5 mOpen ↗
FRAFranceRGE ALTI 1m, CQUEST COG repack (VRT)VRTdata.cquest.org1 msameMainland France (same data, via titiler)0.5 mOpen ↗
FROFaroe IslandsUmhvorvisstovan FO_DSM_2017 25m - ImageServer raw Float32WMS/WCS raw Float32gis.us.fo25 msameAll islands (satellite DSM, coarse)10 mOpen ↗
ITAItalyINGV TINITALY 10m - WCS 2.0 raw Float32WMS/WCS raw Float32tinitaly.pi.ingv.it10 msameNationwide1 mOpen ↗
JPNJapanGSI/GSJ seamless elevation tiles 5-10m - Terrain-RGBXYZ tiles (Terrain-RGB)gbank.gsj.jp5–10 m1 mNationwide (5 m where DEM5 exists, 10 m elsewhere)1 mOpen ↗

API resolution is the grid the live service streams (what the viewer renders and what the grading above uses); Bulk download is the finest grid the agency advertises for download, which is what Mapterhorn itself ingests. The sample picker in the app can regrade by either.

65 national datasets, generated at build time from lib/custom-sources.json.

Regional datasets

Some of the best data on this page covers a state or a province rather than a country. These sit below the divider in the Sample picker and are left out of Load all so the default list stays national, but each is one click away there and loads from a ?terrainSourceA=<id> link.

ISO A3RegionDatasetServed asEndpointResolutionCoverageView
AUSAustraliaNSW 5m statewide - ImageServer raw Float32WMS/WCS raw Float32maps.six.nsw.gov.au5 mNew South Wales onlyOpen ↗
AUSAustraliaQueensland QldDem 0.5m best-available - ImageServer raw Float32WMS/WCS raw Float32spatial-img.information.qld.gov.au0.5–1 mQueensland onlyOpen ↗
AUSAustraliaSA River Murray 2021 LiDAR DTM 0.5m - ImageServer raw Float32WMS/WCS raw Float32gis.mdba.gov.au0.5 mRiver Murray corridor, SA border to Murray Mouth (licence unclear on the service)Open ↗
AUTAustriaLand Tirol DGM 5m - WCS raw Float32WMS/WCS raw Float32gis.tirol.gv.at5 mTirol only — no Austria-wide open service existsOpen ↗
BELBelgiumDigitaal Vlaanderen DHMV II DTM 1m - WCS raw Float32WMS/WCS raw Float32geo.api.vlaanderen.be1 mFlanders only (not Wallonia/Brussels)Open ↗
CANCanadanDSM New Brunswick LiDAR DSM − DEM 1m - deriveddem-diffdiff:1 mNew Brunswick — DSM minus DEMOpen ↗
CANCanadaNew Brunswick GeoNB LiDAR DEM 1m - ImageServer raw Float32WMS/WCS raw Float32geonb.snb.ca1 mNew Brunswick, province-wideOpen ↗
CANCanadaNew Brunswick GeoNB LiDAR DSM 1m (surface) - ImageServer raw Float32WMS/WCS raw Float32geonb.snb.ca1 mNew Brunswick surface model, province-wideOpen ↗
CANCanadaOntario LiDAR DTM 0.5m - ImageServer raw Float32WMS/WCS raw Float32ws.geoservices.lrc.gov.on.ca0.5 mOntario, surveyed LiDAR blocks onlyOpen ↗
DEUGermanyGeobasis NRW DGM1 1m - WCS raw Float32WMS/WCS raw Float32www.wcs.nrw.de1 mNorth Rhine-Westphalia onlyOpen ↗
ESPSpainAndalucía - COG 286GB - MDE del PNOA-LIDAR de Andalucía, 2020-21 (1x1m)COGportalrediam.cica.es1 mAndalucía region only (286 GB COG)Open ↗
FRAFranceIGN Lidar HD DTM 0.5m Reunion - WMS raw Float32WMS/WCS raw Float32data.geopf.fr0.5 mRéunion onlyOpen ↗
LTULTUKlaipeda city LiDAR DTM 0.5m - LERClerctiles.arcgis.com0.5 mKlaipėda city only (LERC tiles; licence unclear)Open ↗
MEXMexicoAguada Fenix Maya LiDAR 0.5m (archaeology) - VRTVRTopentopography.s3.sdsc.edu0.5 mMiddle Usumacinta survey area (archaeology)Open ↗
MEXMexicoAguada Fenix Maya LiDAR 0.5m DSM (surface) - VRTVRTopentopography.s3.sdsc.edu0.5 mMiddle Usumacinta survey area, canopy surfaceOpen ↗
MEXMexiconDSM Aguada Fenix canopy height DSM − DTM 0.5m - deriveddem-diffdiff:0.5 mMiddle Usumacinta — canopy heightOpen ↗
NPLNPLBhotekoshi 2026 elevation change (dh) 2m, Rasuwagadhi-Timure - COGCOGnextgis-web.prod.heritagewatch.ai——Open ↗
NPLNPLBhotekoshi 2026 elevation change (dh) 2m, Syabrubesi - COGCOGnextgis-web.prod.heritagewatch.ai——Open ↗
NPLNPLBhotekoshi 2026 post-event DSM 0.5m, Rasuwagadhi-Timure - COGCOGnextgis-web.prod.heritagewatch.ai——Open ↗
NPLNPLBhotekoshi 2026 post-event DSM 0.5m, Syabrubesi - COGCOGnextgis-web.prod.heritagewatch.ai——Open ↗
NPLNPLnDSM Bhotekoshi 2026: post-event DSM − Mapterhorn (GLO-30), Rasuwagadhi-Timure - deriveddem-diffdiff:——Open ↗
NPLNPLnDSM Bhotekoshi 2026: post-event DSM − Mapterhorn (GLO-30), Syabrubesi - deriveddem-diffdiff:——Open ↗
TZATZADar es Salaam Msimbazi LiDAR DTM 0.5m - WCS raw Float32WMS/WCS raw Float32crd.resilienceacademy.ac.tz0.5 mLower Msimbazi valley, Dar es Salaam (~3.6 × 3.6 km)Open ↗
TZATZADar es Salaam Msimbazi UAV DSM 0.5m (surface) - WCS raw Float32WMS/WCS raw Float32crd.resilienceacademy.ac.tz0.5 mSame footprint, drone surface modelOpen ↗
TZATZAnDSM Msimbazi UAV DSM − LiDAR DTM 0.5m - deriveddem-diffdiff:0.5 mMsimbazi — UAV DSM minus LiDAR DTMOpen ↗
USAUnited StatesAlaska DGGS IfSAR DSM 5m (surface) - ImageServer raw Float32WMS/WCS raw Float32geoportal.dggs.dnr.alaska.gov5 mAlaska statewide IfSAR surfaceOpen ↗
USAUnited StatesAlaska DGGS IfSAR DTM 5m - ImageServer raw Float32WMS/WCS raw Float32geoportal.dggs.dnr.alaska.gov5 mAlaska statewide IfSAR terrainOpen ↗
USAUnited StatesHawaii Maui & Molokai 2019 LiDAR DTM 0.3m - LERClercgeodata.hawaii.gov0.3 mMaui and Molokai, 2019 (LERC tile cache)Open ↗
USAUnited StatesHawaii statewide LiDAR DSM 1m (surface) - ImageServer raw Float32WMS/WCS raw Float32geodata.hawaii.gov1 mHawaii surface model, same footprint as the DTMOpen ↗
USAUnited StatesHawaii statewide LiDAR DTM 1m - LERClercgeodata.hawaii.gov1 mHawaii, LiDAR-covered parts of all islands (LERC tile cache)Open ↗
USAUnited StatesnDSM Alaska IfSAR DSM − DTM 5m - deriveddem-diffdiff:5 mAlaska — IfSAR DSM minus DTMOpen ↗
USAUnited StatesnDSM Hawaii LiDAR DSM − DTM 1m - deriveddem-diffdiff:1 mHawaii — DSM minus DTMOpen ↗
USAUnited StatesNew York statewide LiDAR DEM 1m - ImageServer raw Float32WMS/WCS raw Float32elevation.its.ny.gov1 mNew York State, newest LiDAR on top (metres, verified)Open ↗

33 regional datasets. Kept out of Load Sample Sources so the list stays national, but each remains importable with a ?terrainSourceA=<id> link.

Beyond those, a second tier was verified to the same standard but deliberately left out of the library, because a national list is more useful than an exhaustive one. Each is a normal endpoint you can paste into Add Custom Source:

ISO A3RegionDatasetResolutionServed asEndpointNotes
AUTSteiermarkGIS Steiermark ALS DGM 1 m (+ DOM)1 mWCS 1.0 (ArcGIS), F32gis.stmk.gv.atCOVERAGE=4 is the full model (1 and 2 are hillshades). Dachstein 2994.6 m (true 2995). DSM on ALSHoeheninformation_1m_UTM33N. CC BY 4.0 AT.
DEUBaden-WürttembergLGL DGM1 (INSPIRE WCS)1 mWCS 1.0, F32owsproxy.lgl-bw.deCOVERAGE=EL.ElevationGridCoverage, FORMAT=GeoTIFF. Feldberg 1494.3 m (true 1493). GDAL nodata tag wrongly says 0. dl-de/by-2.0.
DEUBrandenburg + BerlinLGB DGM11 mWCS 1.0, F32isk.geobasis-bb.deCOVERAGE=bb_dgm, FORMAT=image/tiff (GeoTIFF errors). Teufelsberg 120.07 m (true 120.1). Nodata −9999. dl-de/by-2.0.
DEUMecklenburg-VorpommernLAiV DGM1 (+ DOM1)1 mWCS 1.0, F32www.geodaten-mv.deCOVERAGE=mv_dgm; DSM mv_dom1 on /dienste/dom_wcs. Königsstuhl 123.8 m. No conditions of use, attribution required.
DEUNiedersachsenLGLN DGM1 (+ DOM1)1 mWCS 1.0, F32opendata.geoservices.lgln.niedersachsen.deCOVERAGE=ni_dgm1; DSM ni_dom1 on /dom_wcs. Wurmberg 972.07 m (true 971). Outside the Land returns bare 0. CC BY 4.0.
DEUSachsen-AnhaltLVermGeo DGM1 (INSPIRE WCS)1 mWCS 1.0, F32geodatenportal.sachsen-anhalt.deCOVERAGE=1 (literally). Brocken 1141.16 m (true 1141.2). dl-de/by-2.0.
ITAEmilia-RomagnaRER DTM 5×5 LiDAR mosaic5 mWCS 1.0, F32servizigis.regione.emilia-romagna.itCOVERAGE=DTM5X5_RDN32_RMD. Monte Cimone 2162.5 m (true 2165). The 0.5 m WCS returns degenerate TIFFs. CC BY 4.0.
ITASardegnaRAS DTM 10 m island-wide (+ 1 m partial)10 m / 1 mWCS 1.0, F32webgis.regione.sardegna.itCOVERAGE=raster:DTM_10M_ALTIMETRIA_REV01 covers the whole island (La Marmora 1827.9 m); the 1 m mosaic only covers surveyed corridors.
ITAToscanaGEOscopio DTM 1 m LiDAR (partial) / 10 m / DSM 20211 m / 10 mWMS GetMap, F32www502.regione.toscana.itOne of the rare WMS servers whose image/tiff is real Float32. LAYERS=rt_morfologia.iddtm.1m.irs (1 m, partial), .iddtm.10m.rt (full), .iddsm2021.1m.rt. Monte Amiata 1730.7 m.
ARGCórdobaIDECOR MDE 5 m (dem_5m_cba_ext)5 mWCS 1.0, Int16idecor-ws.mapascordoba.gob.arCerro Champaquí 2787 m (true 2790). Nodata 32767. Also MDE-Ar 30 m and MERIT 90 m clips of the province.
AUSMurray–Darling BasinMDBA 1 m LiDAR DTMs + srtm_1sec_demh_v11 m / 30 mArcGIS ImageServer, F32gis.mdba.gov.au25 ImageServers; Kosciuszko 2223 m via the SRTM DEM-H one. Needs noData=-9999&noDataInterpretation=esriNoDataMatchAny.
CANNew BrunswickGeoNB LiDAR DEM 1 m (DEM_Raw_MNE_Brut)1 mArcGIS ImageServer, F32geonb.snb.caMount Carleton 815 m (true 820). DSM twin DSM_Raw_MNT_Brut. Pass noData=-9999.
FINHelsinkiCity of Helsinki Korkeusmalli 2021 1 m1 mWCS 2.0, F32kartta.hel.fiNeeds the __wcs2subset=X,Y,ij rewrite (bare i()/j() scaleSize). Nodata -32767. CC BY 4.0.
NLDZeeland watersRijkswaterstaat bodemhoogte_zeeland bathymetry~20 mWCS 2.0, F32geo.rijkswaterstaat.nlBed level in NAP metres, Westerschelde channel −27 m. Same ij scaleSize rewrite as Helsinki. CC0.
USAKentuckyKyFromAbove 2 ft DTM (Phase 2, Z metres)0.6 mArcGIS ImageServer, F32kyraster.ky.govStatewide, finer than 3DEP. Lexington airport 297 m (true 298).
USAVermontVCGI LiDAR DEM / DSM 0.35 m0.35 mArcGIS ImageServer, F32maps.vcgi.vermont.govFinest statewide grid found in the US; first-return DSM twin IMG_VCGI_LIDARDSM_SP_NOCACHE_V1.
USAOregonDOGAMI DTM / DSM mosaics (Z feet)0.9 mArcGIS ImageServer, F32gis.dogami.oregon.govLiDAR footprint only, not the whole state. Values in feet.
USAIowaISU lidar_2020_dem / lidar_2020_dsm 1 m1 mArcGIS ImageServer, F32ortho.gis.iastate.eduStatewide DTM and a draft DSM.
USAConnecticutCT ECO 2023 lidar DEM 2 ft (Z feet) + DSM0.6 mArcGIS ImageServer, F32cteco.uconn.eduDSM at MaxSurfaceHeight_2023. Values in feet.
USAIllinoisISGS statewide lidar DEM (Z feet)0.3 mArcGIS ImageServer, F32data.isgs.illinois.eduPer-county DSM services on the same server. Values in feet.
USANew YorkNYS ITS Latest_DEM 1 m mosaic1 mArcGIS ImageServer, F32elevation.its.ny.govNewest / highest-resolution-on-top statewide mosaic.
USANorth CarolinaNC OneMap DEM03 QL2 (Z feet)0.95 mArcGIS ImageServer, F32services.nconemap.govDeclared nodata −9999. Values in feet.
USAWisconsin, Ohio, Louisiana, Massachusetts, New Jersey, AlaskaState DEM ImageServers0.3–5 mArcGIS ImageServerdnrmaps.wi.gov …All verified F32 with CORS: WI EN_DEM_from_LiDAR, OH OH_DEM_test (feet), LA 2017_2024_Louisiana_1M_DTM (feet), MA ELEVATION_LIDAR_INT_2013to2021 (Int16), NJ NJ_10ft_DEM (3 m), AK IFSAR_DTM (5 m). None finer than 3DEP.

Two are worth singling out. Queensland serves a best-available mosaic of 0.5–1 m drone and aircraft LiDAR — ten times finer than the 5 m national grid, and Geoscience Australia publishes no national equivalent at all. And Aguada Fénix is not a mapping agency product: it is the airborne survey that revealed the largest known Maya monumental construction (Inomata et al., Nature 2020), a platform invisible from the ground and unmistakable in a hillshade. That is the case for LiDAR archaeology in one dataset.

Global and polar datasets

Not every good source belongs to a country. These are worldwide, polar or sea-floor products from research consortia, listed under Global in the sample library:

DatasetServed asEndpointResolutionCoverageView
JAXA ALOS World 3D 30m (AW3D30) - VRTVRTopentopography.s3.sdsc.edu30 mGlobal 82 N–82 S, JAXA optical-stereo DSM (via titiler)Open ↗
Difference: AW3D30 - Mapterhorn - deriveddem-diffdiff:30 mGlobal — AW3D30 minus MapterhornOpen ↗
Esri World Elevation 3D (land only, ocean at 0 m) - LERClercelevation3d.arcgis.com——Open ↗
ANADEM AI bare-earth DTM from the GLO-30 DSM, South America 30m - single COGCOGopentopography.s3.sdsc.edu30 mAll South America, bare-earth under canopy (via titiler)Open ↗
Digital Earth Africa GLO-30 (Africa + Arabia) 30m - WCS 2.1 raw Float32WMS/WCS raw Float32ows.digitalearth.africa30 mAll of Africa + Arabia from one endpointOpen ↗
EMODnet Bathymetry (European seas) ~115m - WCS raw Float32WMS/WCS raw Float32ows.emodnet-bathymetry.eu~115 mAll European seas (bathymetry)Open ↗
GEDTM30 AI bare-earth DTM from the GLO-30 DSM, worldwide 30m - single COGCOGs3.opengeohub.org30 mGlobal 65 S–85 N, bare earth (via titiler, z6+)Open ↗
EGM96 geoid undulation 15' (ellipsoid - geoid separation)COGcdn.proj.org——Open ↗
EGM2008 geoid undulation 2.5' (ellipsoid - geoid separation)COGcdn.proj.org——Open ↗
Smart Maps GEL NASADEM 30m Terrain-RGB z2-12 (CC0) - PMTilesXYZ tiles (Terrain-RGB)pmtiles:——Open ↗
Open Waters Seascape Bathymetry - TerrariumXYZ tiles (Terrarium)tiles.openwaters.iovariesGlobal bathymetry compilationOpen ↗
PGC ArcticDEM 2m (Arctic, ellipsoidal) - ImageServer raw Float32WMS/WCS raw Float32di-pgc.img.arcgis.com2 mAll land north of 60 N, ellipsoidal heightsOpen ↗
PGC REMA 2m (Antarctica, ellipsoidal) - ImageServer raw Float32WMS/WCS raw Float32di-pgc.img.arcgis.com2 mAntarctica to 85 S, ellipsoidal heightsOpen ↗
Re:Earth Terrain - Terrarium (ellipsoid)XYZ tiles (Terrarium)terrain.reearth.land~30 mGlobal, ellipsoidal heightsOpen ↗
Google Open Buildings 2.5D height 0.5m, 2023 (BRA sample) - VRT, CORS-missingVRTterrain-viewer.iconem.com——Open ↗
Google Open Buildings 2.5D height 0.5m, 2016 (BRA sample) - VRT, CORS-missingVRTterrain-viewer.iconem.com——Open ↗
Difference: Open Buildings 2.5D 2023 - 2016 (BRA sample) - deriveddem-diff——Open ↗

Two things to know. ArcticDEM and REMA are ellipsoidal: the Polar Geospatial Center publishes heights above the WGS84 ellipsoid, so summits sit tens of metres off their map values and open sea reads +28 m off Greenland. And the two ML terrain models, GEDTM30 and ANADEM, are explained in the next section.

Copernicus GLO-30, the supra-national fallback

Most of the world has no national elevation API at all. What fills that gap is Copernicus GLO-30 — a free, global 30 m DEM from ESA and Airbus, and the single most important dataset on this page: it is the base layer of Mapterhorn, the source behind Digital Earth Africa, and the fallback anywhere a country publishes nothing.

Several organisations re-serve the same GLO-30 pixels in different shapes:

ProviderScopeServed asEndpointStatus here
Digital Earth AfricaAfrica + ArabiaWCS 2.1, raw Float32ows.digitalearth.africaShipped as a sample source
MapterhornWorldwideTerrarium PMTilestiles.mapterhorn.comBuilt in as the default terrain source
OpenTopographyWorldwideSingle global .vrt over COGsopentopography.s3.sdsc.eduNot shipped — VRT header is 11.7 MB per read
AWS Open DataWorldwidePer-1° COGscopernicus-dem-30m.s3.amazonaws.comNot usable — bucket sends no CORS header

ANADEM and GEDTM30 are a newer idea worth understanding, both distributed through OpenTopography. Rather than re-serving GLO-30 unchanged, they apply machine learning to correct it towards bare earth — GLO-30 is a surface model, so over the Amazon it measures the canopy, not the ground, and can sit tens of metres high. ANADEM covers South America; GEDTM30 is global and calibrated against GEDI spaceborne LiDAR. Neither is finer than 30 m — the gain is vertical accuracy under forest, not detail. See OpenTopography's note on ML-derived terrain models and the GEDTM30 discussion.

Digital Earth Africa is the one worth loading directly: it is the only keyless live raw-elevation service covering any African country, and it turns a continent of nothing into a working source. It is not, however, finer than Mapterhorn — it is literally the same GLO-30 data, just fetched live from an API instead of a tileset.

Why these and not others

Surveying national mapping agencies worldwide turns up two consistent traps.

No agency anywhere publishes Terrarium tiles. Only two national agencies publish a pre-rendered elevation tile pyramid at all (Japan's GSI and Mexico's INEGI), and both invented their own encoding — Mexico's is close enough to Terrain-RGB to be described with custom factors, Japan's is not, and Japan only loads because the Geological Survey of Japan re-serves GSI's tiles as genuine Terrain-RGB. Everything else serves raw rasters on demand.

FORMAT=image/geotiff on a WMS is usually a lie. Germany's BKG, the UK Environment Agency, Portugal, Croatia, Ecuador and Canada's MRDEM all advertise it and all return an 8-bit RGB colour ramp — a picture of elevation, not elevation. The raw values live on WCS or on an ArcGIS ImageServer, never on the WMS. A related trap: ArcGIS estates usually expose MapServer (rendered) rather than ImageServer (raw), which is what rules out Slovakia, Colombia, Argentina and Australia.

Some excellent data sits behind a login. NASA's High Mountain Asia 8 m DEM (HMA_DEM8m_MOS, stereo from commercial imagery, 2014–2016, 26–46 N by 67–103 E) is the natural pre-event reference for the Himalaya, and Mapterhorn does not carry it (its Nepal coverage is Copernicus GLO-30). It needs an Earthdata account, which the app cannot supply, so it is not in the library; download it and pick it as a local COG, or serve it yourself.

The two best global commercial DEMs are in the same position, one step further out. Vantor Precision3D (1 m DTM/DSM, the maxar-sdx collection) and Airbus WorldDEM Neo (5 m DSM, airbus-dem) are both browsable through NASA's CSDA catalog in STAC search — the catalog is open and CORS-open, so you can see exactly what exists where — but the assets are s3:// URIs behind an Earthdata login, a EULA and per-request approval, so nothing streams. Getting proper API-key access to both is on the list: Airbus runs a OneAtlas elevation API whose free trial includes the WorldDEM layer, and Vantor sells Precision3D through its own delivery platform. Either would become an ordinary custom source with a key, the way Mapbox and MapTiler already are — the app has nowhere to put those credentials yet because there has been nothing to point them at.

Everything listed above was verified by decoding a real tile and checking it against a known summit or sea-level point before being added.

How they are served

Three different transports end up as the same raster-dem source in the app:

  • WMS/WCS raw Float32 — the app requests a GeoTIFF per tile and re-encodes it to Terrarium in the browser, via the float32dem:// protocol. WCS 1.0 works unmodified because its BBOX= is shaped exactly like a WMS GetMap; WCS 2.0 needs a rewrite to subset= per axis, which a &__wcs2subset=X,Y marker on the URL performs.
  • ArcGIS ImageServer — exportImage with format=tiff, which returns raw Float32 and takes the same bbox= as a WMS, so it reuses the identical code path (USGS 3DEP, Czechia).
  • Single COG — Switzerland and ANADEM are each one national file. Neither is in Web Mercator (LV95 and geographic EPSG:4674), and the in-browser COG reader does not reproject, so these are pinned to titiler with the source's Always serve via titiler switch, whatever the global COG setting says.
  • XYZ tiles — a normal tile pyramid. Spain, New Zealand and Japan are standard Terrain-RGB. Mexico is not: its layer is named "terranium" but packs elevation with Terrain-RGB's factors and a baseShift of 1000 instead of 10000, so it is configured with custom RGB encoding and reads ~9 km too low without it.

Surveyed, but not API-usable

These countries do publish a national elevation product — often an excellent one — that still cannot be consumed here. Each row is a reproduced failure, not an assumption.

ISO A3CountryProductServed asWhy it can't be used
COLColombiaIGAC municipal MDT/MDS504 ArcGIS ImageServersLive, CORS-clean, correct metadata — and the pixels are synthetic. Every Ov_i02_L0* overview is corrupt above 10 m/px, and below it the base rasters decode to an 8-value dither oscillating between the service's own minValues and maxValues. Confirmed by reading raw IEEE floats out of the uncompressed TIFF without GDAL. Worth reporting to IGAC.
ECUEcuadorIGM mapabase:igmdtmCascaded WMSReal national DTM including Galápagos, and GetFeatureInfo returns genuine metres (5737.7 m near Chimborazo) — but the layer is cascaded and WMS-only, absent from WCS, and image/geotiff returns 8-bit RGB. One pixel per request, no raster endpoint. SIGTIERRAS' own 3 m LiDAR host resolves but every TCP connect times out.
PHLPhilippinesDREAM/PhilLiDAR 1 mGeoServerlipad-geoserver answers but 502s on every OWS path across repeated retries; the one endpoint that responds proxies a test instance publishing a single vector tile-index layer. No DTM coverage exists to serve.
ARGArgentinaIGN ign:mdeWMSAdvertises image/geotiff and has CORS, but returns 3-band 8-bit RGB — a rendered colour ramp. WCS is explicitly disabled.
BRABrazilIBGE national MDEDownload onlyThe WCS publishes 14 coverages, none elevation; of 10,646 WMS layers none is a national DEM raster. Distribution is per-state GeoTIFF download.
CANCanada (Quebec)Forêt ouverte LiDAR 1 mPer-sheet COGsThe WMS is rendered RGB and its WCS exposes zero coverages. The underlying 1 m COGs are keyless with CORS, but there are 2,630 separate sheets and no mosaic.
SVNSloveniaARSO Slovenija_DMR 1 mArcGIS ImageServerNow live and the data is flawless — 1 m Float32, Triglav decodes to 2863.2 m against 2864 m true — but CORS is allowlisted to ARSO's own domains, so a browser cannot read it. Would work behind a proxy.
ANDAndorraIDE Andorra relleuWCS 1.0An undocumented WCS exists with 17 coverages, but no MDT among them — the relief layer returns 3-band 8-bit RGB shaded relief.
ALBAlbaniaASIG DSM / DTM 2015WMS hillshadeOnly Dsm_Hill_Group and Hillshade_2015_group are published; the WCS lists hundreds of coverages but none from the DSM/DTM workspaces.
BIHBosnia & HerzegovinaFGU Digitalni model reljefa 5 mGeoServerEvery OWS path returns HTTP 401 — login required across all 125 workspaces.
IRLIrelandGSI Open Topographic LiDARArcGIS ImageServerAll nine services are hillshade — bandCount 1, pixelType U8, '_HS_' in every name. The DEM 10 m is an INSPIRE view service derived from contours.
ISLIcelandÍslandsDEM 2 m / 10 mGeoServer WCSThe coverage named 'islandsdem_hillshade_10m' is Float32 — so it survives a dtype check — but its values run 0 to 254.6: a hillshade stored as float. The 14.9 GB full DEM is downloadable but sends no CORS.
LIELiechtensteinDHM25 / swissALTI3DMapServer WCSWCS is enabled but the only elevation coverages are relief and hillshade; swissALTI3D coverage is distributed by a fee-based office.
MDAMoldovageodata.gov.mdGeoServerWCS returns 'Service WCS is disabled'; the sibling portal's WCS contains only stock GeoServer demo coverages.
MLTMaltaMSDI EL.ElevationGridCoverage 1 m LiDARGeoServerThe INSPIRE elevation layers exist but WCS is disabled, leaving only rendered WMS — and the host sits behind a Cloudflare interstitial that 403s non-browser clients.
TURTürkiyeHGM grid elevationPaid servicePriced as a product with access by written request; no anonymous endpoint.
AUSAustraliaGeoscience Australia 5 m DEMDownload portalNo ImageServer exists; the WMS is a MapServer returning rendered RGB. Elvis is a clip-and-ship portal.
CHESwitzerlandswissALTI3D / swissSURFACE3D 0.5 mPer-tile COGs + WMSEvery swisstopo WMS elevation layer is 'reliefschattierung' — hillshade — and the 0.5 m products are only per-tile COGs indexed by STAC. The 10 m swissALTIRegio single COG above is the one live option.
ITAItaly (Sardinia)Regione Sardegna DTM 1 mGeoServer WCSWorks and is genuine 1 m Float32, but the mosaic only covers surveyed blocks — mostly river corridors and the coast, roughly half the island — so on the map it reads as scattered ribbons of detail with nodata between them. TINITALY covers the island at 10 m.
CHNChinaTianditu elevationWMTS / WCSEvery endpoint requires a registered tk= key.
DNKDenmarkDataforsyningen DHMWCSGetCapabilities is open, but GetCoverage returns 403 'User not authorized' — token required at the data step.
GRCGreeceHellenic Cadastre DEM 5 mOffline / licensedNever published as INSPIRE Elevation — the national catalogue's 147 records contain zero elevation entries. geodata.gov.gr is unreachable.
HRVCroatiaDGU DMRWMSAdvertises image/geotiff but returns a 3-band RGB hillshade, and sends no CORS header.
JPNJapanGSI 標高タイル (1 / 5 / 10 m)XYZ PNG tilesGSI's own tiles use a signed-24-bit ×0.01 m packing no raster-dem encoding can express. The Geological Survey of Japan's Terrain-RGB conversion of the same tiles is what is shipped instead.
DEUGermany (other Länder)Bayern, Hessen, Sachsen, Thüringen, Hamburg, S-H, RLP DGM1WCS / WMSBayern and Sachsen WCS need credentials (401/403); Hessen's WCS 2.0 only accepts its native EPSG:25832 axes; Thüringen serves an RGB hillshade; Hamburg, Schleswig-Holstein and Rheinland-Pfalz have no open WCS. Six Länder do work and are in the regional table.
AUTAustria (other Länder)BEV, Wien, Kärnten, Salzburg, OÖ, Vorarlberg, NÖ—BEV's INSPIRE WMS needs registration; the Länder publish hillshade MapServers, RGB WMS or downloads only. Tirol and Steiermark are the two live raw services.
BELBelgium (Wallonia)WALLONIE_MNT_2021_2022MapServerMapServer only — export returns PNG and the WCSServer answers HTTP 400. Flanders is the live half.
LUXLuxembourgACT DTM 2024GeoServer WCSThe INSPIRE WCS lists zero coverages; the DTM is download-only.
LTULithuaniaElevation_V2AGOL ImageServerTilesOnly with no exportImage, and the licence is non-commercial Esri-only.
ESPSpain (Catalonia, Euskadi, Canarias)ICGC MDT 2 m / 5 m, Euskadi MDT, Grafcan MDTWCS / WPSICGC's WCS only emits ArcGrid; Euskadi lists no MDT coverage; Grafcan is WPS/WMS only. The national IDEE Terrain-RGB covers all three anyway.
ITAItaly (other regions)Trentino, Veneto, Lombardia, Piemonte, FVG, PCN LiDAR 1 m—WCS with zero coverages, disabled, unreachable, or download-only; the ministry's PCN 1 m LiDAR WCS returns HTTP 500.
GBRUnited Kingdom (Scotland, Wales, N. Ireland)Scottish Remote Sensing Portal, DataMapWales, OpenDataNI LiDARGeoServer / downloadsScotland's WCS is switched off, Wales' WCS exposes only noise maps, Northern Ireland is file download only. England's EA service is the live one.
AUSAustraliaGeoscience Australia DEM_LiDAR_5m / SRTM 1 s WCSMapServer WCS 1.0Genuine Float32 with CORS, but requestResponseCRSs is EPSG:4326 only — a 3857 BBOX is refused with HTTP 400, and this app only templates Web Mercator windows.
USAUnited States (Minnesota)MnGeo 0.5 m Gen-2 lidar DEM33 COGs + VRTFloat32 COGs with CORS and range support, but in EPSG:6344 and split across 33 files under one VRT — no single reprojectable file.
CANCanada (HRDEM)NRCan HRDEM mosaic 1–2 mWCS 1.1.1 / per-tile COGsOnly WCS 1.1.1 is served, which needs GRIDOFFSETS derived from the window; the COGs are per 100 km tile with no mosaic file. MRDEM 30 m is the single-file product and is shipped.
INDIndiaNRSC Bhuvan CartoDEMGeoServerWCS is disabled and the WMS carries no raw elevation layer; CartoDEM is download-only via Bhoonidhi.
HKGHong KongLands Department 5 m DTM (2020 LiDAR)CSDI MapServer / AGOL tilesThe CSDI service is rendered WMS only; the AGOL ImageServer is TilesOnly LERC with no exportImage.
KORSouth KoreaNGII / VWorld DEMWMSEvery endpoint requires a key registered to a domain.
TWNTaiwanMOI 20 m DTMNLSC WMTSOnly hillshade, slope and aspect derivatives are served; the DTM itself is download-only on data.gov.tw.
CRICosta RicaSNIT IGN MDTGeoServerWCS disabled; the WMS exposes only 1:5000 contour vectors.
GTMGuatemalaIDEG / PACUNAM LiDARGeoServer WCSThe WCS answers with zero coverages; the Maya LiDAR surveys are not published as a service.
ZAFSouth AfricaNGI 5 m / SUDEM—No NGI ImageServer or WCS exists; the documented SUDEM WCS host is unreachable and was a hillshade.
AFRAfrica (RCMRD)RCMRD country SRTM 30 m ImageServersArcGIS ImageServerFive countries (Uganda, Botswana, Burundi, Comoros, South Sudan) are keyless Float32 with CORS, the rest need a token — and all are the same SRTM/GLO-30 class data Mapterhorn already has, so nothing is gained.
POLPolandGUGiK NMT 1 mWCS 2.0Works and is free — the highest-resolution national DEM found anywhere — but sends no CORS headers at all, so a browser cannot read it.
PRTPortugalDGT MDT 0.5 m / 2 m LiDARSTAC + OAuth2Public STAC index, CC BY 4.0, genuine Float32 — but every asset redirects to Keycloak login, and there is no CORS. The MDT50m WMS 'image/geotiff' is 8-bit RGBA, and the INSPIRE 'ElevationGridCoverage' ATOM is a hypsometric colour ramp (non-monotonic: Torre 1993 m reads darker than Larouco 1527 m).
SVKSlovakiaÚGKK DMR 5MapServer only52 MapServers and zero ImageServers; every DMR layer is rendered hypsometry.
SWESwedenLantmäteriet Markhöjdmodell 1 mSTAC + Basic authSTAC index is keyless and CORS-enabled, but every raster asset 401s behind a free Geotorget account — while sibling /pub/ paths stay open, so the gating is deliberate.

Two patterns dominate. Auth at the data step: Portugal and Sweden both publish modern, public STAC catalogs under CC BY 4.0 where the index is open and CORS-enabled but every raster byte sits behind OAuth2 or HTTP Basic. Rendered, not raw: the product is a hillshade or a hypsometric colour ramp, sometimes mislabelled as an elevation coverage.

Beyond the table, a long tail of countries publishes nothing retrievable at all. Across Central Asia, the Caucasus, the western Balkans, the Caribbean, Central America, the Middle East, South-East Asia and the Pacific, the national geoportal is typically a dead host, a single-page app with no service directory, or an ArcGIS estate exposing only rendered MapServer layers. Two small countries need no entry of their own: Monaco is inside France's IGN LiDAR coverage and San Marino inside Italy's TINITALY, so both already work through the sources above.

This is exactly the gap Mapterhorn fills. It ingests several of these under licence — Portugal's 0.5 m and Sweden's 1 m are both in its source catalog — so those countries already render at national resolution in this app through the Mapterhorn tileset, just not by talking to the agency live. Greece is the one case where the data isn't open at all, and falls back to global 30 m.

Coverage edges and no-data

A national dataset stops at its border, and services disagree about how to say so. Some return a sentinel (-9999 for France and Finland, -3.4e38 for England, positive +3.4e38 for the Netherlands), some return a service exception, and some return a GeoTIFF that cannot be parsed at all.

Sentinels are handled per-source by a no-data floor/fill, so out-of-coverage areas sit flat at sea level instead of decoding as a 10 km pit. Where a service answers with an error instead, those tiles simply don't render.

Because of this, selecting a national dataset constrains the map to that country's extent by default — see Settings → Map Bounds to change or disable it.

On this page