ForHosting KIT · Travel & geography

Web Mercator unproject

X 0 and Y 0 metres on the Web Mercator plane come back as latitude 0° and longitude 0°, where the equator meets Greenwich. Enter any point within 20,037,508.34 m of the centre on each axis and get its WGS84 degrees. Free in your browser.

  • Free
  • Runs in your browser
  • No sign-up
  • Your data stays on your device
Use it from WebAPIEmailTelegramApp soon
If you enter
X
0
Y
0
You get
Longitude
0
Latitude
0
Longitude
0
Latitude
0

Web Mercator is the de facto projected coordinate system behind most online maps. Tiles, vector layers, and GIS exports often store positions as easting and northing in metres on a sphere of radius 6378137 metres rather than as latitude and longitude degrees. Unprojecting those values means applying the inverse spherical Mercator formulas so you recover WGS84 lon/lat suitable for GPS displays, geocoders, and EPSG:4326 pipelines.

What Web Mercator unprojection computes and which inputs are valid

Send the required fields x and y as finite numbers measured in metres in EPSG:3857, also known as Popular Visualisation Pseudo-Mercator or the Bing and Google Maps projected system. The engine interprets x as easting and y as northing relative to the equator and prime meridian origin at zero zero. Longitude is recovered as x divided by the sphere radius times one hundred eighty over pi; latitude is recovered as two times the arctangent of e to the power y over R, minus pi over two, then converted to degrees.

The published world extent is plus or minus pi times R metres, about twenty million three hundred seventy five thousand and eight metres on each axis. Numeric strings are parsed when they match ordinary decimal or scientific notation.

Reading lon, lat, CRS labels, and the extent constants

Use lon and lat when building GeoJSON Point coordinates in longitude-first order; use latitude and longitude when binding to UI labels that prefer the longer names. Origin zero zero unprojects to the Gulf of Guinea null island at zero degrees north and zero degrees east. Positive x moves east; positive y moves north until the polar clip.

Forward projection from lat/lon to metres is intentionally out of scope so this page stays focused on the unproject search intent.

Everyday uses and practical limits

Call the free in-browser web mercator unproject tool for quick checks of exported layers, debugging a mis-ordered coordinate pair, and lecture demos of inverse spherical Mercator without installing PROJ, GDAL, or a desktop GIS. Keep values inside the world extent; clip or reproject upstream if your source uses a different CRS or an unbounded polar Y. Source inputs follow the same retention rules as other KIT parse items.

Remember that Web Mercator is conformal but not equal-area, so unprojected coordinates are for location display and routing handoff, not for measuring area on the projected plane.

Map tile and layer debugging

Developers convert click positions or feature easting/northing from Web Mercator layers back to lat/lon for logs, bug reports, and cross-checks against GPS ground truth.

ETL from slippy-map exports

Data pipelines that receive EPSG:3857 metre coordinates unproject them to EPSG:4326 before writing GeoJSON, posting to geocoders, or merging with WGS84 tables.

Teaching inverse spherical Mercator

Classrooms and tutorials show how X/Y metres map to lon/lat, including the world-extent clip near ±85°, without installing a full projection stack.

What happens if X or Y is outside the world extent?

Valid metres lie within ±π·6378137 on each axis (about ±20037508.34 m), matching the latitude clip used by common web maps.

Which CRS codes does this use?

Input is treated as EPSG:3857 Web Mercator metres; output is WGS84 geographic degrees (EPSG:4326).

Is the Web Mercator unproject calculator free?

The browser tool runs free on your device.

Does this project lat/lon into metres?

No. This capability only unprojects metres to lat/lon. Forward projection is a different product intent and is not performed here.

Can I measure areas with the converted coordinates?

Not on the projected plane. Web Mercator keeps shapes but not areas, so the degrees you get back are for showing and passing on positions, while area measurements need a method designed for them.

Everything on this page is available programmatically. This section is for teams who want to wire it into their own systems; everyone else can just use the tool above.

POSThttps://api.kit.forhosting.com/geo/web-mercator-unproject

Prefer to automate it? One authenticated POST creates the task; the result comes back by webhook or a signed link. The same capability also runs here on the web, by email and from Telegram — and soon from our app too.

curl -X POST https://api.kit.forhosting.com/geo/web-mercator-unproject \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"x":0,"y":0}'
{
  "x": 0,
  "y": 0
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "geo.web_mercator_unproject",
  "status": "queued",
  "_links": {
    "result": "/tasks/tsk_…/result"
  }
}

The API is asynchronous: the call returns a task_id immediately and the result arrives by webhook. Polling is capped at 1 req/s per task.

Per request$0.002

Published price — no tokens, no invented credits. A failed task is never charged.

HTTPCodeMeaning
401unauthorizedMissing or invalid API key.
402insufficient_balanceYour balance doesn't cover the task price.
404unknown_typeThat task type doesn't exist.
429rate_limitedToo many requests. Use the webhook instead of polling.

This capability performs that conversion deterministically from two numeric fields, rejects coordinates that fall outside the square projected world extent used by slippy maps, and returns structured JSON with both short and long field names for lon and lat.

What Web Mercator unprojection computes and which inputs are valid

Values outside that square are invalid_input because they lie beyond the latitude clip near plus or minus eighty five point zero five degrees where the Mercator map becomes infinite. Aliases mercator_x and easting for x, and mercator_y and northing for y, are accepted so GIS-oriented payloads map cleanly. Missing fields, non-finite values, and out-of-extent coordinates never produce a silent NaN; they fail with a clear invalid_input message and are not charged. Identical inputs always produce identical JSON because the path is pure arithmetic with no network, no random seed, and no wall clock.

Reading lon, lat, CRS labels, and the extent constants

The crs_in field is always EPSG:3857 and crs_out is always EPSG:4326 so downstream code can assert the transformation without sniffing shapes. radius_m reports six million three hundred seventy eight thousand one hundred thirty seven, the WGS-84 semi-major axis that EPSG:3857 uses as the sphere radius, and max_extent_m reports pi times that radius so clients can validate client-side before calling the API. The method label is always web_mercator_inverse. Pair this endpoint with tile or quadkey tools when you already have pixel or tile indices and still need geographic degrees for a marker.

API usage, pricing, GIS workflows, and practical limits

Send a JSON body with numeric x and y Web Mercator metres. Use the prepaid API when a mapping backend, ETL job, or mobile offline cache needs a stable contract under KIT balance at $0.002 per successful item; validation failures never consume balance after the engine rejects the request. Authors shipping SDKs can map the lon and lat fields directly into map camera targets, while analytics pipelines can store radius_m and max_extent_m alongside the result for audit trails.

How do I convert Web Mercator metres to latitude and longitude?

Send JSON with x and y in EPSG:3857 metres. The response includes lon and lat (and longitude/latitude aliases) in decimal degrees on EPSG:4326.

Read the full KIT documentation →