Download Contour Lines as GeoJSON for QGIS and ArcGIS
Generate contour lines for anywhere in Oregon from USGS 3DEP lidar elevation data and download them as GeoJSON: WGS84 lines with the elevation in feet, ready for QGIS, ArcGIS, web maps and scripts.
Ready to make GeoJSON contours?
Draw your area, pick an interval in feet and choose GeoJSON. The contours appear on the map before you download.
Open Download Data →What is GeoJSON?
GeoJSON is an open standard for geographic data written as plain JSON text. It is the native language of web maps and is read by every modern GIS. Because it is text, you can open it in any editor and see exactly what is inside.
For contours, each line is a feature with a geometry (the line itself) and properties (its elevation). That makes it easy to style contours by height, label them, filter them or feed them into an analysis.
What you get in the file
- One feature per elevation: every contour level is a MultiLineString feature holding all the lines at that height.
- Elevation in feet:
elevation_ftandelevation(feet) on every feature, above NAVD 88, withelevation_m(meters) alongside. - WGS84: longitude and latitude, as the GeoJSON standard requires.
- Attribution inside the file: top-level
attributionandlicensemembers name the USGS 3D Elevation Program, so the source travels with the data. GIS readers ignore them.
Software that reads GeoJSON
Desktop GIS
- QGIS: free and open source; opens GeoJSON natively.
- ArcGIS Pro: converts GeoJSON with JSON To Features.
- ArcGIS Online: adds GeoJSON as a layer.
- Global Mapper: reads and converts GeoJSON.
Web mapping
- Leaflet:
L.geoJSON()draws the contours in a few lines of code. - MapLibre GL JS and Mapbox GL JS: add the file as a GeoJSON source and style lines by
elevation_ft. - OpenLayers: reads GeoJSON with its built-in format class.
Data processing
- Python: GeoPandas and Shapely read the file directly.
- GDAL/OGR:
ogr2ogrconverts it to GeoPackage, Shapefile or a database table. - PostGIS: import with ogr2ogr for spatial queries.
How to download contour lines as GeoJSON
- Open the map: go to Download Data and search for a place, address or peak.
- Select the area: draw a rectangle, or click a taxlot to select the rectangle around it. The area can be up to 7.5 miles per side.
- Choose the interval in feet (1, 2, 5, 10, 20, 40, 100, 200, 500 ft):
- 1–5 ft: lots, drainage design and gentle ground such as the Willamette Valley floor
- 10–20 ft: hillside parcels, trails and general mapping
- 40 ft and up: big mountain areas, from the Columbia Gorge to the Wallowas
- Choose GeoJSON among the contour formats.
- Download: the contours are free to view on the map; the file needs a pass.
- Open it: drag the file into QGIS, add it to ArcGIS, or load it in your web map.
The Contour Lines tool can also save the contours it draws on the map as GeoJSON or KML, clipped to the taxlot when you have selected one.
Free to run · pay to download
See the full result on the map free, with no account. Download the contours as GeoJSON with a pass: US$29 for 24 hours, US$99 for 30 days or US$399 for 12 months, a one-off payment in US dollars that never renews. Every download on the site is included while the pass lasts.
Using GeoJSON contours in QGIS
- Add the layer: drag the .geojson file onto the QGIS map canvas.
- Style by elevation: use a graduated renderer on
elevation_ftfor a color ramp. - Index contours: with a rule-based renderer, draw every fifth line heavier, for example
"elevation_ft" % 50 = 0at a 10 ft interval. - Label: label with
elevation_ftand place labels along the line. - Combine: add a hillshade, taxlots or trails for context.
- Save: export to GeoPackage if you want to keep styles and other layers together.
Common uses
Web maps
Developers add contours to Leaflet or MapLibre maps for trail sites, real estate listings and outdoor apps. A single GeoJSON file needs no tile server.
GIS analysis
Analysts combine contours with taxlots, streams and zoning to understand terrain constraints, or use them to check how a proposed road or building pad fits the ground.
Trail planning
Trail builders and land managers use contours to lay out routes at a steady grade, from forest roads in the Coast Range to new singletrack near Bend. Pair them with an elevation profile for the climb.
Environmental and watershed work
Contours help with drainage patterns, wetland edges and restoration plans. For flow paths, the Water & Drainage tool traces them directly.
Planning and development
Planners use contours to screen slopes and view corridors before a site visit. For permits, the county planning department decides what elevation information it needs; check with your county.
Tips
Keep files small
The finer the interval and the larger the area, the bigger the file. For web maps, choose the coarsest interval that still shows what you need, or simplify the lines in QGIS. Output resolution scales with the size of the area you select. Exports are capped at 1,024 pixels on the longest side, with a floor of 3.3 ft per pixel — so a 900 ft building site is delivered at the full lidar detail, while a block 7.5 miles on a side is resampled to roughly 39 ft per pixel. Select a smaller area when you need fine detail.
Mind the coordinate system
The file is WGS84. QGIS and ArcGIS reproject on the fly; for measuring lengths or areas, save a copy in Oregon Statewide Lambert, feet (EPSG:2992) or another projected system first.
Combine with other data
Contours read best over a hillshade and next to roads, streams and property lines. The DEM download guide shows how to get the elevation model itself as a GeoTIFF (above NAVD 88; values in the file are in meters, as USGS publishes them).
Script it
Because the file is plain JSON, a few lines of Python or JavaScript can filter levels, compute lengths or convert it to another format.
GeoJSON or another format?
GeoJSON or Shapefile
A Shapefile is a set of files zipped together and suits older ArcGIS workflows. GeoJSON is a single text file, handles long field names and is what web maps expect.
GeoJSON or DXF
For CAD, choose DXF: 3D polylines in Oregon Statewide Lambert, feet (EPSG:2992), with a layer per elevation. GeoJSON is the better fit for GIS and the web.
GeoJSON or KML
KML is made for Google Earth, with colors and height labels built in. GeoJSON is better for analysis and custom web maps.
About the data
Ground elevations on this site come from the USGS 3D Elevation Program (3DEP) seamless bare-earth model: 3.3 ft per pixel where lidar has been flown and about 33 ft per pixel elsewhere, with elevations above NAVD 88. The data is in the public domain. Most of Oregon’s lidar was flown through the Oregon Lidar Consortium, run by DOGAMI, the Oregon Department of Geology and Mineral Industries. DOGAMI reports about 99% of Oregon covered by at least one lidar project. See lidar coverage in Oregon for the project behind your area. More from the USGS 3D Elevation Program and DOGAMI’s lidar program.
Accuracy is inherited from the USGS 3DEP source and the lidar project behind it, not asserted by this tool. Where lidar exists, at 3.3 ft per pixel, vertical accuracy is that of the project: individual Oregon Lidar Consortium projects report vendor RMSE of a few inches or less in DOGAMI’s project records; for example, Metro 2014 reports about a tenth of a foot. Outside the lidar work units the seamless DEM is about 33 ft per pixel and far coarser. Every download states what share of its area fell outside the lidar work units. Values are bare-earth elevations above NAVD 88 from a digital elevation model — they exclude buildings and tree canopy and are not a substitute for a surveyed elevation where a legal or engineering decision depends on it.
Frequently asked questions
Is GeoJSON a good format for QGIS?
Yes. QGIS opens GeoJSON natively: drag the file onto the map and the contours appear with their attributes, ready to style and label. If you want a single file with many layers, save it as a GeoPackage from QGIS afterwards.
What attributes does each contour carry?
Three: elevation_ft (the contour level in feet, the field to label with), elevation_m (the same level in meters, for metric workflows) and elevation (feet again, for tools that look for a field with that name). Elevations are above NAVD 88.
What coordinate system does the GeoJSON use?
WGS84 longitude and latitude (EPSG:4326), as the GeoJSON standard (RFC 7946) requires. QGIS and ArcGIS Pro reproject it on the fly, so it lines up with layers in Oregon Statewide Lambert, feet (EPSG:2992) or any other system.
How large are the files?
It depends on the terrain, the area and the interval. A small lot is tiny; a large, steep area at a fine interval can run to many megabytes. Pick a coarser interval or a smaller area if a web map feels slow.
Can I use the contours commercially?
USGS 3DEP elevation data and USGS maps are U.S. Government works in the public domain: you may use the results, including commercially. A credit to the USGS 3D Elevation Program is appreciated, and every file you download carries it. DOGAMI lidar products are published by the State of Oregon; credit "DOGAMI / Oregon Lidar Consortium". County taxlot boundaries are the assessor's GIS data, not surveys, and each county publishes its own disclaimer, shown with the parcel. The aerial basemap is from Esri and follows Esri's terms; it is not included in downloads.
Does GeoJSON work with ArcGIS Online and ArcGIS Pro?
Yes. ArcGIS Online can add a GeoJSON file as a layer, and ArcGIS Pro converts it with the JSON To Features tool. If you live in ArcGIS, the Shapefile download is another option.
Other formats
- Contours as DXF – for AutoCAD and Civil 3D
- Contours as KML – for Google Earth
- Contours as PDF – for printing
- Contours as SVG – for design and laser cutting
- Contour lines for Oregon – overview of every format
Make GeoJSON contours for your area
Contours are free to generate and view on the map. With a pass you download the GeoJSON, ready for QGIS, ArcGIS and web maps.