We have a legacy tile server with tiles georeferenced to EPSG:4326 accessed as follows through openlayers:- var OLDSERVICE = new ol.layer.Tile({ title: 'OLD SERVICE', type: 'base', source: new ol.source.XYZ({ url: 'http://OLD_URL/maps/api/nls/{z}/{x}/{y}.jpg', maxZoom: 15, tilePixelRatio: 1}) }); The current base map is in EPSG:4326 We want to reproject these tiles to work on a base map with projection EPSG:27700 How would we best go about this? I don't want to warp the tiles on the fly, would prefer to reprocess them for 27000. I am not very familiar with XYZ tile services as most of our stuff is done via a WMS service.