If you have spent any time with web maps, you have run into GeoJSON. It is the format behind most interactive maps you see online - and it is the format MapDataHub converts your uploads into. Here is a plain-English look at what it is and why it won.

It is just JSON with geometry

GeoJSON is a specification for encoding geographic data in JSON, the same lightweight text format that powers most web APIs. Because it is plain text, you can open a .geojson file in any editor, read it, and even hand-edit it. No special software required.

The building blocks

Every GeoJSON document is built from a small set of types. Once you recognize them, the format reads like a sentence.

  • Feature - a single thing on the map: its geometry (where it is) plus properties (everything else about it).
  • FeatureCollection - an array of features, which is what most files actually contain.
  • Geometry types - Point, LineString, Polygon, and their Multi* variants for groups.

Coordinates come longitude-first

This trips up almost everyone. GeoJSON lists coordinates as [longitude, latitude] - the opposite of how we say "lat/long" out loud. So a point near London looks like [-0.13, 51.50], not [51.50, -0.13]. If your points land in the wrong hemisphere, swapped coordinates are the usual culprit.

Why it became the default

  • It works natively with JavaScript and every major mapping library, so there is nothing to parse or convert in the browser.
  • It keeps geometry and attributes in a single file, unlike Shapefiles, which spread data across several.
  • It is human-readable, which makes debugging and version control far easier.
  • It is an open standard (RFC 7946), so it is not tied to any one vendor or tool.

Have data in another format? Upload your Shapefile, KML, GPX, or CSV to MapDataHub and export it as GeoJSON in a couple of clicks - a handy way to get web-ready data out of a desktop GIS workflow.