A zoom level or scale is a number that defines how large or small the contents of a map
- Scale is a ratio between measurements on a map view
A map view is a user interface that displays map layers and graphics in 2D. It controls the area (extent) of the map that is visible and supports user interactions such as pan and zoom. and measurements in the real-world. When a mapA map is a collection of layers that are displayed in 2D. It is typically composed of a basemap layer and data layers. is displayed at a scale of 1:100 (or simply100.0), 1cm on the display represents 1m (100cm) in the real world. A scale of100,000.0means that 1cm on the map display represents 1km (100,000cm) in the real world, and so on. - Zoom level is a number between 0 (global view) and 23 (very detailed view) and is used as a shorthand for predetermined scale values, but comes with some limitations.
Most web mapping APIs support zoom levels
A brief history of zoom levels
Zoom levels were made popular by various web mapping solutions and APIs in the early 2000s. These adopted a tiling scheme that defined how a global map in Web Mercator projection could be pre-rendered for display in a web browser.
The tiling scheme is based on pre-rendering sets of 96 ppi 256x256 pixel PNG or JPEG image tiles, starting with a single tile at zoom level 0 that covers the entire world. This single tile, spanning -180º longitude to 180º longitude at 256 pixels width and 96 ppi, turns out to be of horizontal scale 1:591,657,527.591555 at the equator. So 591657527.591555 is the map scale for zoom level 0.
Zooming in by one level halves the scale (and consequently quadruples the number of 256x256 pixel tiles required to cover the world - 2x the horizontal tiles, and 2x the vertical tiles). Zoom level 1 requires 4 tiles to cover the same geographic area as the single zoom level 0 tile; zoom level 2 requires 16 tiles; zoom level 3 requires 64, and so on. By the time you get to zoom level 20, 1,099,511,627,776 tiles are needed.
Crucially, these zoom levels represented scales at which the pre-rendered 96 ppi 256x256 pixel map tiles could be displayed crisply, without pixel resampling, in a web browser. Web browsers used the standard CSS pixel size of 96 ppi: that is, 1 tile pixel would match 1 screen (browser) pixel.
Over time, this mapping between zoom levels and map scales became established as a de facto standard, despite tiles being used outside of browser apps at many different screen resolutions, and despite the onset of dynamically rendered vector tiles in place of the original pre-rendered 96 ppi PNG or JPEG image tiles.
Many modern mapping solutions and APIs only display Web Mercator maps and so continue to use zoom level as a shortcut for map scale. They do this despite using vector tiles and vector data, which means they don't need to lock to these specific legacy zoom levels for a crisp map display that avoids pixel resampling, although many do.
ArcGIS APIs can render many different map projections at a full range of scales, and so use scale rather than zoom level (although the ArcGIS JavaScript API does provide support for zoom levels as a convenience).
Zoom level presets
The scale of each zoom level preset (0-23) depends on the type of layer used in your application. Vector tile layers
The zoom values of a vector tile layer are equivalent to the zoom values of an map tile layer minus one. For example, a zoom level of 1 on an map tile layer corresponds to a zoom level of 0 on a vector tile layer (scale 1 : 295828763).
-
A zoom level of
0for an map tile layer (scale1 : 591657527) corresponds to a zoom level of-1for a vector tile layer. Since the minimum zoom level is0, this scale preset does not exist for vector tile layers. -
Conversely, a zoom level of
23for vector tile layers (scale1 : 35.2655368) corresponds to a zoom level of24for image tile layers. Since the maximum zoom level is23, this scale preset does not exist for image tile layers.
If there is no zoom level preset corresponding to your desired scale, you can instead set the map scale directly. The method for doing this depends on the API or tool you are using.
Basemap layers
The basemap styles service
To learn if a basemap uses vector tile layers or image tile layers, go to its item page
Conversion tool
Use this interactive tool to translate zoom levels