Open-Elevation

App · Travel & Places · 3 actions

Find out how high above sea level anywhere in the world is, with the free Open-Elevation service. Measure a single spot, a whole list of sites at once to see which is highest and lowest, or a route from end to end for its total climb, its steepest stretch and the shape of the ground along the way. Every height comes in both metres and feet, and every distance in kilometres and miles. No account or API key is required.

Actions

ActionWhat it does
Get elevationFind out how high the ground is above sea level at one place, anywhere in the world.
Get elevation along a routeSee the shape of the ground along a route and how much climbing it holds: total ascent and descent, the highest and lowest points, the average grade and the steepest stretch, plus the height at every point measured along the way.
Get elevations for several placesMeasure a whole list of places at once and find out which is highest, which is lowest, and how much ground lies between them.

Get elevation

Find out how high the ground is above sea level at one place, anywhere in the world. The height comes back in both metres and feet, and a place below sea level reads as a negative number. Coverage runs from 56°S to 60°N; a place outside that band is reported as having no reading rather than as sea level.

Inputs

LatitudelatitudenumberRequired
Latitude of the place, in decimal degrees from -90 to 90. Positive is north of the equator.From -90 to 90.
LongitudelongitudenumberRequired
Longitude of the place, in decimal degrees from -180 to 180. The Americas take a negative longitude.From -180 to 180.

Outputs

attributionobject
Credit to show wherever this data appears.
coverage_notetext
Set only when something had no reading, explaining why. Empty otherwise.
elevation_feetnumber
The same height in feet.
elevation_metersnumber
Height of the ground above sea level, in metres. Empty when the place is outside the dataset's coverage.
in_coveragetrue/false
False when the place falls outside the dataset and has no reading.
latitudenumber
longitudenumber
Example output
{
  "attribution": {
    "text": "Elevation data courtesy of Open-Elevation",
    "url": "https://open-elevation.com"
  },
  "coverage_note": null,
  "elevation_feet": 383.9,
  "elevation_meters": 117.0,
  "in_coverage": true,
  "latitude": 41.161758,
  "longitude": -8.583933
}

Get elevation along a route

See the shape of the ground along a route and how much climbing it holds: total ascent and descent, the highest and lowest points, the average grade and the steepest stretch, plus the height at every point measured along the way. Give it a start and a finish, and any points to pass through. Ascent and descent are measured between the sampled points, so a finer sampling finds more of both.

Inputs

RoutewaypointslistRequired
The route, as the places it runs between: a start and a finish, plus any points it should pass through on the way, in order. The route is the straight line between each pair. Up to 50 points.
Measurementssamplesnumber
How many points along the route to measure. More measurements draw a finer profile and find more of the small rises and falls; the default suits most routes.From 2 to 500. Default: 100.

Outputs

attributionobject
Credit to show wherever this data appears.
average_grade_percentnumber
Net change as a percentage of the distance covered.
coverage_notetext
Set only when something had no reading, explaining why. Empty otherwise.
distance_kmnumber
Length of the whole route, in kilometres.
distance_milesnumber
end_elevation_feetnumber
end_elevation_metersnumber
highest_pointobject
lowest_pointobject
net_change_feetnumber
net_change_metersnumber
How much higher the finish is than the start. Negative for a route that ends lower.
point_countnumber
How many points along the route were measured.
pointslist
Every measured point, in order along the route.
points_without_datanumber
spacing_kmnumber
Distance between one measured point and the next.
spacing_milesnumber
start_elevation_feetnumber
start_elevation_metersnumber
steepest_climb_percentnumber
steepest_descent_percentnumber
total_ascent_feetnumber
total_ascent_metersnumber
Every rise along the route, added up.
total_descent_feetnumber
total_descent_metersnumber
Every fall along the route, added up.
waypointslist
The route as it was given.
Example output
{
  "attribution": {
    "text": "Elevation data courtesy of Open-Elevation",
    "url": "https://open-elevation.com"
  },
  "average_grade_percent": 36.67,
  "coverage_note": null,
  "distance_km": 10.135,
  "distance_miles": 6.298,
  "end_elevation_feet": 15620.1,
  "end_elevation_meters": 4761.0,
  "highest_point": {
    "distance_km": 10.135,
    "distance_miles": 6.298,
    "elevation_feet": 15620.1,
    "elevation_meters": 4761.0,
    "in_coverage": true,
    "latitude": 45.8326,
    "longitude": 6.8652
  },
  "lowest_point": {
    "distance_km": 0.0,
    "distance_miles": 0.0,
    "elevation_feet": 3425.2,
    "elevation_meters": 1044.0,
    "in_coverage": true,
    "latitude": 45.9237,
    "longitude": 6.8694
  },
  "net_change_feet": 12194.9,
  "net_change_meters": 3717.0,
  "point_count": 25,
  "points": [
    {
      "distance_km": 0.0,
      "distance_miles": 0.0,
      "elevation_feet": 3425.2,
      "elevation_meters": 1044.0,
      "in_coverage": true,
      "latitude": 45.9237,
      "longitude": 6.8694
    },
    {
      "distance_km": 10.135,
      "distance_miles": 6.298,
      "elevation_feet": 15620.1,
      "elevation_meters": 4761.0,
      "in_coverage": true,
      "latitude": 45.8326,
      "longitude": 6.8652
    }
  ],
  "points_without_data": 0,
  "spacing_km": 0.422,
  "spacing_miles": 0.262,
  "start_elevation_feet": 3425.2,
  "start_elevation_meters": 1044.0,
  "steepest_climb_percent": 72.27,
  "steepest_descent_percent": -1.66,
  "total_ascent_feet": 12217.8,
  "total_ascent_meters": 3724.0,
  "total_descent_feet": 23.0,
  "total_descent_meters": 7.0,
  "waypoints": [
    {
      "label": "Chamonix",
      "latitude": 45.9237,
      "longitude": 6.8694
    },
    {
      "label": "Mont Blanc summit",
      "latitude": 45.8326,
      "longitude": 6.8652
    }
  ]
}

Get elevations for several places

Measure a whole list of places at once and find out which is highest, which is lowest, and how much ground lies between them. Use this rather than one step per place: the list goes off in a single request, so two hundred sites cost exactly what one does.

Inputs

PlacesplaceslistRequired
The places to measure. Add a row for each one. They are all looked up together in a single request, so a list of two hundred sites costs the same as one. Up to 1000 places.

Outputs

attributionobject
Credit to show wherever this data appears.
coverage_notetext
Set only when something had no reading, explaining why. Empty otherwise.
elevation_range_feetnumber
elevation_range_metersnumber
How far the highest place sits above the lowest.
highestobject
lowestobject
place_countnumber
placeslist
Every place, in the order given.
places_without_datanumber
How many places had no reading.
Example output
{
  "attribution": {
    "text": "Elevation data courtesy of Open-Elevation",
    "url": "https://open-elevation.com"
  },
  "coverage_note": null,
  "elevation_range_feet": 16981.6,
  "elevation_range_meters": 5176.0,
  "highest": {
    "elevation_feet": 15620.1,
    "elevation_meters": 4761.0,
    "in_coverage": true,
    "label": "Mont Blanc",
    "latitude": 45.8326,
    "longitude": 6.8652
  },
  "lowest": {
    "elevation_feet": -1361.5,
    "elevation_meters": -415.0,
    "in_coverage": true,
    "label": "Dead Sea",
    "latitude": 31.5,
    "longitude": 35.5
  },
  "place_count": 2,
  "places": [
    {
      "elevation_feet": 15620.1,
      "elevation_meters": 4761.0,
      "in_coverage": true,
      "label": "Mont Blanc",
      "latitude": 45.8326,
      "longitude": 6.8652
    },
    {
      "elevation_feet": -1361.5,
      "elevation_meters": -415.0,
      "in_coverage": true,
      "label": "Dead Sea",
      "latitude": 31.5,
      "longitude": 35.5
    }
  ],
  "places_without_data": 0
}

On this page