What is GeoJSON?
GeoJSON is an open, JSON-based format for encoding vector geographic features and their attributes, standardized as RFC 7946 by the IETF.
A GeoJSON document is plain UTF-8 JSON built from Feature and FeatureCollection objects, each pairing a geometry (Point, LineString, Polygon, and their Multi* variants, or a GeometryCollection) with a free-form "properties" object. Because it is human-readable text, it works well with version control, text diffing, and any JSON tooling, and it is the de facto interchange format for web maps and JavaScript libraries such as Leaflet, Mapbox GL, and OpenLayers. Unlike Shapefile it imposes no field-name length limit, mixes geometry types freely within one collection, and stores everything in a single file.
What is GPX?
GPX (GPS Exchange Format) is an open, XML-based schema for exchanging GPS data such as waypoints, routes, and tracks between devices and applications.
GPX models data through three primary elements: waypoints (individual named points of interest), routes (an ordered list of routepoints describing a planned path), and tracks (recorded paths made of one or more segments of trackpoints, often carrying timestamps and elevation). It is the common tongue of handheld GPS units, fitness watches, and outdoor apps like Garmin, Strava, and Komoot. It is a point- and line-oriented format built around navigation, not a general-purpose polygon or attribute-table format.
Why convert GeoJSON to GPX?
GPX is the format GPS devices, fitness watches, and navigation apps like Garmin, Strava, and Komoot understand, so converting lets you load web-sourced points or paths onto real hardware. It is ideal for turning planned locations or route lines from a web map into something you can navigate in the field. A dataset containing only Point or only LineString features translates naturally into waypoints or routes.
Coordinate systems
Per RFC 7946, coordinates are longitude/latitude in decimal degrees on the WGS84 datum (EPSG:4326), and the specification removed the older "crs" member, so a compliant GeoJSON file is always assumed to be WGS84. Coordinate order is [longitude, latitude], optionally followed by elevation.
The GPX specification fixes all coordinates to WGS84 latitude/longitude with elevation in meters, so like KML it carries no projection information and any exported data is expressed in EPSG:4326.
What to watch out for
- GPX accepts exactly one non-empty geometry family: Point-only or LineString-only GeoJSON. Mixed Point and LineString data, Polygon, every Multi* type, GeometryCollection, and empty or Null geometry are rejected. LineString features are written as GPX routes (<rte>), while Point features become waypoints (<wpt>).
- Output is forced to WGS84 (EPSG:4326). RFC 7946 or CRS-less GeoJSON already matches it; approved legacy named-CRS input is reprojected when necessary.
- GPX has a fixed schema of waypoints/routes/tracks, so arbitrary GeoJSON properties are preserved as GPX <extensions> rather than first-class fields.
- Attributes that a GPS device does not understand (custom extensions) may be ignored by that device even though they remain in the file.
How to convert GeoJSON to GPX
- Drag your GeoJSON file (.geojson, .json) into the converter above, or click to browse.
- Confirm the source is GeoJSON and choose GPX as the output format.
- Optionally pick a target coordinate system (EPSG) to reproject.
- Click Convert and download your GPX file. Everything runs in your browser.
Frequently asked questions
- Which GeoJSON geometries can I convert to GPX?
- Use one non-empty geometry family containing only Point or only LineString features. Mixed Point and LineString, Polygon, Multi*, GeometryCollection, and empty or Null geometry are rejected.
- Where did my custom properties go?
- They are stored inside GPX <extensions> tags to preserve them, though not every GPS device or app will display or use them.
- Will lines become GPX routes?
- Yes. LineString geometries are written as routes (<rte>), while individual Point geometries become waypoints (<wpt>).