Axis order is the sequence in which the two (or three) coordinate values of a position are written for a given coordinate reference system. The core distinction is whether the first number is latitude or longitude (north/east), and getting it wrong silently swaps points across the globe.

Why it matters

A coordinate pair like 48.85, 2.35 is only meaningful if you know which value is which axis. The authoritative EPSG definition of geographic CRS EPSG:4326 (WGS 84) specifies latitude, longitude order. However, many software stacks, and the GeoJSON specification (RFC 7946), use longitude, latitude (x, y) order. When data crosses a boundary between these conventions without conversion, points jump to the wrong hemisphere or fall in the ocean.

Concrete example

In Paris, latitude is about 48.85 and longitude about 2.35.

  • GeoJSON / most "x,y" tooling: [2.35, 48.85] (lon, lat).
  • Strict EPSG:4326 / many WMS and OGC services: 48.85, 2.35 (lat, lon).

GeoServer and other OGC-compliant servers historically honoured EPSG axis order in WMS 1.3.0 and WFS 2.0, which caught out countless developers expecting lon/lat. Tools like GDAL added the OAMS_TRADITIONAL_GIS_ORDER flag specifically to manage this.

Common pitfall

Assuming EPSG:4326 always means lon/lat. It does not by definition. Whenever a map looks rotated, mirrored, or empty, suspect axis order first. Web Mercator (EPSG:3857) is defined as easting, northing (x, y), which adds to the confusion when reprojecting between the two.

Related reading