A python module for interpreting Ordnance Survey grid references.

Platforms & distributions

  • Python package
  • platform-independent source code


Development status


Latest version

See below.


Many geospatial locations within the UK are given with the Ordnance Survey system. While common and highly accurate, this coordinate system is peculiar to the UK and incompatible with many modern cartography tools. This module presents functions for converting between these and the most widely spread longitude-latitude system.


This package can be installed by the usual Pythonic methods:

  1. use your favourite installation tool:

    % easy_install osgb

  2. or download the source, unpack it, change into the directory and call:

    % python setup.py install


osgb provides two primary functions, osgb_to_lonlat and lonlat_to_osgb, which are imported into the top of this package. Some of the intermediate conversions are provided for those who may find them useful (e.g. for working in eastings-northings).


By convention, longitude and latitude are referred and used in that order.

Note that the lon-lats are returned are OSGB36 (not the more modern WGS84), as that is the system OSGB is based upon. The difference should be minimal (i.e. less than 100 metres). For example, the OS grid reference TM114 525 (just outside Ipswich) should convert to the lon-lat 1.088975 52.129892 in OSGB36, which is 1.087203 52.130350 in WGS84.