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.