EPSG.io

The EPSG.io service helps you discover coordinate systems from across the globe, view their parameters, and choose the most suitable transformations. The service is developed and maintained by the MapTiler team.

EPSG.io serves as a custom interface to the EPSG database, offering an extensive list of projections and coordinate systems, their bounding boxes, and transformation options to enhance the precision of coordinate transformations.

Contents:


Discover coordinate systems and their parameters

To explore coordinate reference systems, use the search bar at epsg.io. You can search for coordinate systems, datums, ellipsoids, units, transformation operations, and more. Enter the EPSG code (e.g., 3857) or part of a name (e.g., pseudo-mercator) to find what you need.

Pick the right transformation

Transformation parameters are often essential for improved accuracy, especially when the source and target coordinate reference systems use different ellipsoids. Applying the TOWGS84 parameter can significantly enhance precision, improving transformations from meters to centimeters.

Each projection that supports multiple transformations offers a list of options on its dedicated page, such as Swiss CH1903+ / LV95 (EPSG:2056). Try selecting a different transformation if your GPS data doesn't align with the local coordinate system.

Choosing the correct transformation is also crucial for reverse transformations, such as converting local coordinates back to WGS84 (EPSG:4326). This can also help when switching to a different coordinate system or achieving greater precision.

Exporting coordinate reference systems in GIS-compatible formats

Each coordinate reference system definition can be exported in various text formats compatible with transformation libraries and GIS tools, including OGC WKT, PROJ, ESRI WKT, PROJ4JS, GeoServer, MapServer, PostGIS, and more.

Example PROJ definition for the Pseudo Mercator CRS (EPSG:3857):

+proj=merc +a=6378137 +b=6378137 +lat_ts=0 +lon_0=0 +x_0=0 +y_0=0 +k=1 +units=m +nadgrids=@null +wktext +no_defs +type=crs

Example ESRI WKT definition for the Pseudo Mercator CRS:

        PROJCS["WGS_1984_Web_Mercator_Auxiliary_Sphere",
          GEOGCS["GCS_WGS_1984",
              DATUM["D_WGS_1984",
                  SPHEROID["WGS_1984",6378137.0,298.257223563]],
              PRIMEM["Greenwich",0.0],
              UNIT["Degree",0.0174532925199433]],
          PROJECTION["Mercator_Auxiliary_Sphere"],
          PARAMETER["False_Easting",0.0],
          PARAMETER["False_Northing",0.0],
          PARAMETER["Central_Meridian",0.0],
          PARAMETER["Standard_Parallel_1",0.0],
          PARAMETER["Auxiliary_Sphere_Type",0.0],
          UNIT["Meter",1.0]]
        

Endpoints for coordinate reference systems

You do not have to rely on the web interface. EPSG.io delivers endpoints that can be automated in applications.

URL endpoint Description Example
https://epsg.io/{CODE}
transformation or CRS

https://epsg.io/2056

https://epsg.io/1676

https://epsg.io/{EPSG}-{CODE}
CRS with transformation https://epsg.io/2056-1676
https://epsg.io/{EPSG}-{CODE}.{FORMAT}
CRS with transformation in specific FORMAT

https://epsg.io/2056-1676.wkt

https://epsg.io/2056-1676.proj4

https://epsg.io/{CODE}-{OBJECT}
Other types of registered OBJECTS, besides of transformation or CRS, such as prime meridian, datum, ellipsoid, … https://epsg.io/7004-ellipsoid
https://epsg.io/?q=KEY:VALUE[+KEY:VALUE[+…]]
Search interface using the KEY: VALUE pairs for filtering results. List of available combinations https://docs.maptiler.com/cloud/api/coordinates/#search-coordinate-systems https://epsg.io/?q=kind:COORDOP deprecated:1
https://epsg.io/{VALUE}-crs-{CODE}
Search by OGC GML values (OGP, IOGP, EPSG) https://epsg.io/epsg-crs-2065
https://epsg.io//urn:ogc:def:{CODE} Search by URN https://epsg.io/urn:ogc:def:crs:EPSG::2056

List of output formats

Format suffix Description Example
wkt / ogcwkt OGC Well Known Text https://epsg.io/2056.wkt
prettywkt Styled OGC Well Known Text https://epsg.io/2056.prettywkt
wkt2 OGC Well Know Text v2 https://epsg.io/2056.wkt2
esriwkt ESRI definition of Well Known Text https://epsg.io/2056.esriwkt
json JSON encoded format https://epsg.io/2056.json
proj4 PROJ library definition https://epsg.io/2056.proj4
js / proj4js Proj4JS implementation definition https://epsg.io/2056.js (or .proj4js)
geoserver GeoServer specification https://epsg.io/2056.geoserver
mapfile Usable directly in the Map Server configuration file https://epsg.io/2056.mapfile
mapnik Usable directly in Mapnik configuration file https://epsg.io/2056.mapnik
sql SQL statement for PostGIS or SpatialLite https://epsg.io/2056.sql
html HyperText Markup Language https://epsg.io/2056.html
mapnik XML with Mapnik definition https://epsg.io/2056.mapnik
mapnikpython Python code for Mapnik https://epsg.io/2056.mapnikpython
mapserverpython Python code for Map Server https://epsg.io/2056.mapserverpython

List of supported objects

Object suffix Description Example
datum Geodetic datum definition https://epsg.io/6274-datum
primem Prime meridian definition https://epsg.io/8901-primem
ellipsoid Reference ellipsoid definition https://epsg.io/7004-ellipsoid
method Transformation method https://epsg.io/1025-method
cs Coordinate system definition https://epsg.io/1024-cs
axis Axis definitions https://epsg.io/32773-axis
area Area valid for the coordinate system https://epsg.io/1044-area
units Map units definition https://epsg.io/9001-units

Coordinates API by MapTiler Logo

EPSG.io is custom, open, and free service provided by MapTiler. The coordinate transformation and search functionalities are powered by the MapTiler Cloud Coordinates API, which is fully compatible with EPSG.io and also offers a /transform API endpoint for coordinate transformation and /search API endpoint for searching through coordinate systems and it's components.

MapTiler's Coordinates API provides:

Coordinates transformation

The universal transform URL format is:

https://api.maptiler.com/coordinates/transform/{COORDS}.json?s_srs={CODE}&to_srs={CODE}

Parameters Description Example
COORDS

Pair or triplets of coordinates separated by,

More coordinates pairs are separated by ;

50,15

50,15,300

50,15,300;60,16,400

s_srs Source coordinate reference system 4328
t_srs Target coordinate reference system definition 31370
ops List of coordinate of operations separated by | 1623

Example coordinate transformation URL call:

https://api.maptiler.com/coordinates/transform/50,15.json?s_srs=4326&t_srs=5514&ops=1623

The universal search URL format is:

https://api.maptiler.com/coordinates/search/{QUERY}.json?PARAMS

Parameters Description Example
QUERY Query on CRS

2056.json

swiss.json

czechia deprecated:1.json

PARAMS Parameter for showing exports in WKT and Proj4, limit the number of results or show transformations.

swiss.json?limit=1

swiss.json?exports=true&limit=5

Example coordinate search URL call:

https://api.maptiler.com/coordinates/search/swiss deprecated=0.json?exports=true&limit=5

MapTiler API Key

To use MapTiler API services, you must include your MapTiler API key in all API calls by appending &key=xxxxxxxxxxxxxxxxxxxx to the URL.

A custom API key is provided upon free registration to the MapTiler Cloud platform. For more details, read the MapTiler documentation.

MapTiler Client JS client JS

MapTiler Client JS is a JavaScript/TypeScript library designed for seamless integration with MapTiler services. It provides quick and easy access to the Coordinates API:

  1. Install MapTiler SDK

    npm install --save @maptiler/client
  2. Search coordinate reference system

    // in an async function, or as a 'thenable':
        const result = await maptilerClient.coordinates.search('mercator');
  3. Transform coordinates

    const resultA = await maptilerClient.coordinates.transform([1, 45], {targetCrs: 9793})

Read more about the MapTiler Client JS for coordinates API.

OpenLayers Openlayers

OpenLayers simplifies embedding dynamic maps into web pages. It supports displaying map tiles, vector data, and markers from any source.

In addition to rendering, OpenLayers allows on-the-fly transformation of raster and vector data. Coordinate transformations are easily handled using the Proj4js definition powered by the MapTiler Coordinates API. For more details, visit the OpenLayers Proj4js documentation.

Read MapTiler Documentation to learn how to use OpenLayers with MapTiler maps and services.