How do I create an ArcGIS Online service that uses British National Grid?

ArcGIS Online uses Web Mercator as the default Projected Coordinate System (read more here) but it can host services for data in other Projected Coordinate Systems. To do this you will need to create the service by publishing from ArcGIS for Desktop. The other workflows for publishing services in ArcGIS Online, e.g. uploading a Shapefile, will create a service that uses Web Mercator regardless of the source data.*

The steps for publishing the service are detailed here, but before following them it is advisable to check your coordinate system settings in ArcMap. Open the Data Frame Properties and access the Coordinate System tab. This will show the current coordinate system for the frame. In this scenario you may have a single layer and all your data should be British national Grid (BNG), so the frame will also be in British_National_Grid (whose ID is 27700). Now click on the Transformations button at the bottom of the panel. The key transformation to define is from GCS_OSGB_1936, which is the BNG geographic coordinate system (GCS), to GCS_WGS_1984, which is the Web Mercator:

For most users Petroleum is a good choice, but you can read more here.

If you mix services with different projections in ArcGIS Online they will be re-projected on the fly to the coordinate system of the basemap. The re-projection uses the transformation set for the service, or the default if there is none, and this is where the benefit of explicitly setting the transformation comes in.

 

*There is a known issue with the accuracy of the re-projection of BNG data from a Shapefile which results in the data in the ArcGIS Online service being offset by up to 100 metres.