Web Mercator tile math: lat/lon ↔ z/x/y tile addresses, ground resolution and map scale at any zoom and latitude, tile bounding boxes, and ready-to-paste bbox strings. Runs entirely offline; inputs persist in this browser via localStorage.
| Tile (z/x/y) | — |
| Tile NW corner | — |
| Tile bbox (W, S, E, N) | — |
| Overpass bbox (S, W, N, E) | — |
| Ground resolution at this latitude | — |
| Approx. map scale (96 dpi) | — |
| Tile width on the ground | — |
| z | m/px | ft/px | tile width | ~scale |
|---|
x = ⌊(lon+180)/360 · 2^z⌋, y = ⌊(1 − ln(tan φ + sec φ)/π)/2 · 2^z⌋ — the standard OSM slippy scheme (origin top-left, y increasing southward). The inverse gives each tile's NW corner; tile (x+1, y+1) corners give the rest of the bbox. Web Mercator is defined on a sphere of radius 6,378,137 m and cuts off at ±85.0511° — the latitude where the world map becomes square.
Ground resolution = 156,543.034 · cos(lat) / 2^z meters per pixel (256-px tiles) — the cos(lat) is why a zoom level covers less ground per pixel in California than at the equator. "Map scale" for a screen is approximate by nature; the value shown assumes 96 dpi (scale ≈ resolution · 96 / 0.0254). High-DPI displays and retina @2x tiles halve the effective resolution per CSS pixel.
(south, west, north, east) — different from the W,S,E,N most tools use. This page prints both so the comma-shuffling bug happens to someone else.y_tms = 2^z − 1 − y. If your tiles render upside-down-and-mirrored, that's the flag to flip.