---
title: "How to set the zoom range a layer is visible at"
description: "Show a layer only between the zoom levels you choose, so detail layers stay hidden at world view and summary layers drop out at street level."
seo:
  title: "Set a layer's zoom range"
sidebar:
  label: "Set layer zoom visibility"
---

Open the layer's `Style` tab, set the `Visibility` slider, and click `Save` or `Save Style`. The layer shows at both ends of the range and stays hidden outside it. The same control works for every layer type — point, line, polygon, raster, WMS.

**[See it on an example map](https://mangomap-staging.com/examples-staging/maps/zlnhacsa/singapore-style-lab)**

Open the Singapore Style Lab. Zoom out a few levels. `Buildings — Uniform` hides below zoom 14. `Roads — Uniform` hides below zoom 11.

Use this to hide layers that only make sense at certain zoom levels — neighbourhood detail at zoom 14+, country-level summaries at zoom 5 and below, anything in between.

## Before you start

- You need edit access to the map.
- Some idea of the zoom range you want. Common ranges:
  - **0–5** — country-and-region overviews. Country polygons, major rivers, capital cities.
  - **6–10** — country-to-region detail. Major cities, main roads, large administrative boundaries.
  - **11–14** — city-and-neighbourhood. Streets, parks, blocks, points of interest.
  - **15–22** — building-and-feature detail. Building footprints, parcels, addresses.

## Open the Style tab

Click the layer in the layer panel to open its settings, then switch to the `Style` tab. The `Visibility` slider is at the top of the tab.

## Drag the slider

The control has the label `Visibility` and helper text `Show between zoom levels`. The slider is a two-handle range: drag the left handle for the minimum zoom and the right handle for the maximum.

The range includes both ends. With a range of `14` to `18`, the layer shows at zoom 14 and at zoom 18. It hides above zoom 18 and below zoom 14.

<img src="/_assets/styling-layers/set-layer-zoom-visibility--slider.png" alt="Style section of the Buildings — Uniform layer with the Visibility slider, helper text Show between zoom levels, and its handles at 14 and 18" width="1600" height="960" />

## Save

The slider doesn't take effect until you click the save button (`Save` for vector layers or `Save Style` for raster and WMS) at the end of the `Style` section.

If you close the layer settings or switch tabs before you save, your zoom-range change is lost — the same as any other style change.

## Verify the result

Zoom in and out past each end of the range to check the layer shows and hides.

The layer's [feature labels](/docs/styling-layers/show-feature-labels) follow the same range, and so does the legend.

## Tips for picking a range

- **Start broad, then narrow** — set a generous range first, see where the layer reads well, then tighten. Layers that look fine at a wide range usually don't need restriction.
- **Detail layers want a higher minimum** — building footprints, minor roads, and shop points rarely make sense below zoom 14. Restricting them stops the map slowing down at world-view zooms.
- **Summary layers want a lower maximum** — a country choropleth or a major-rivers layer doesn't need to draw at street-level zooms. Restrict it to keep the map clean.
- **Don't hide layers viewers expect to see** — if the layer is part of the map's purpose, change how it looks at different zooms instead of hiding it:
  - **Point layers with `Circle` markers** can change marker size or colour by zoom. See [How to vary marker size by zoom level](/docs/styling-layers/vary-marker-size-by-zoom) and [How to change marker colour by zoom level](/docs/styling-layers/colour-markers-by-zoom).
  - **Line and polygon layers** have no zoom styling. Use the `Duplicate Layer` action to make a second layer from the same dataset. Give each layer its own style. Start one layer's range at the zoom where the other's ends, such as `0`–`10` and `10`–`22`, so both layers draw only at zoom 10. With `0`–`10` and `11`–`22`, neither layer draws between zoom 10 and 11. See [Layer panel controls](/docs/managing-layers/layer-panel-reference).

The chart shows the common ranges above, and two layers made from one dataset with `Duplicate Layer`. A dot marks each end of a range, and the layer shows at both.

{/* diagram:layer-zoom-ranges */}
<svg class="dark:hidden" style="width: 100%; height: auto" viewBox="0 0 640 460" xmlns="http://www.w3.org/2000/svg" role="img" aria-labelledby="layer-zoom-ranges-inline-title layer-zoom-ranges-inline-desc">
  <title id="layer-zoom-ranges-inline-title">Zoom ranges for each layer</title>
  <desc id="layer-zoom-ranges-inline-desc">Gantt chart of Visibility ranges on a 0 to 22 zoom axis: country polygons 0–5, main roads 6–10, streets 11–14 and building footprints 15–22, each shown at both ends of its range, and two layers from one dataset set to 0–10 and 10–22, which both show only at zoom 10.</desc>
  <defs>
    <marker id="layer-zoom-ranges-inline-arrow" markerWidth="8" markerHeight="6" refX="7" refY="3" orient="auto"><polygon points="0 0, 8 3, 0 6" fill="#525252"/></marker>
    <marker id="layer-zoom-ranges-inline-arrow-accent" markerWidth="8" markerHeight="6" refX="7" refY="3" orient="auto"><polygon points="0 0, 8 3, 0 6" fill="#c4360c"/></marker>
  </defs>
  <rect width="100%" height="100%" fill="#f5f5f5"/>
  <line x1="192" y1="40" x2="192" y2="44" stroke="rgba(23,23,23,0.32)" stroke-width="1"/>
  <line x1="211.27" y1="40" x2="211.27" y2="44" stroke="rgba(23,23,23,0.32)" stroke-width="1"/>
  <line x1="230.55" y1="40" x2="230.55" y2="44" stroke="rgba(23,23,23,0.32)" stroke-width="1"/>
  <line x1="249.82" y1="40" x2="249.82" y2="44" stroke="rgba(23,23,23,0.32)" stroke-width="1"/>
  <line x1="269.09" y1="40" x2="269.09" y2="44" stroke="rgba(23,23,23,0.32)" stroke-width="1"/>
  <line x1="288.36" y1="40" x2="288.36" y2="44" stroke="rgba(23,23,23,0.32)" stroke-width="1"/>
  <line x1="307.64" y1="40" x2="307.64" y2="44" stroke="rgba(23,23,23,0.32)" stroke-width="1"/>
  <line x1="326.91" y1="40" x2="326.91" y2="44" stroke="rgba(23,23,23,0.32)" stroke-width="1"/>
  <line x1="346.18" y1="40" x2="346.18" y2="44" stroke="rgba(23,23,23,0.32)" stroke-width="1"/>
  <line x1="365.45" y1="40" x2="365.45" y2="44" stroke="rgba(23,23,23,0.32)" stroke-width="1"/>
  <line x1="384.73" y1="40" x2="384.73" y2="44" stroke="rgba(23,23,23,0.32)" stroke-width="1"/>
  <line x1="404" y1="40" x2="404" y2="44" stroke="rgba(23,23,23,0.32)" stroke-width="1"/>
  <line x1="423.27" y1="40" x2="423.27" y2="44" stroke="rgba(23,23,23,0.32)" stroke-width="1"/>
  <line x1="442.55" y1="40" x2="442.55" y2="44" stroke="rgba(23,23,23,0.32)" stroke-width="1"/>
  <line x1="461.82" y1="40" x2="461.82" y2="44" stroke="rgba(23,23,23,0.32)" stroke-width="1"/>
  <line x1="481.09" y1="40" x2="481.09" y2="44" stroke="rgba(23,23,23,0.32)" stroke-width="1"/>
  <line x1="500.36" y1="40" x2="500.36" y2="44" stroke="rgba(23,23,23,0.32)" stroke-width="1"/>
  <line x1="519.64" y1="40" x2="519.64" y2="44" stroke="rgba(23,23,23,0.32)" stroke-width="1"/>
  <line x1="538.91" y1="40" x2="538.91" y2="44" stroke="rgba(23,23,23,0.32)" stroke-width="1"/>
  <line x1="558.18" y1="40" x2="558.18" y2="44" stroke="rgba(23,23,23,0.32)" stroke-width="1"/>
  <line x1="577.45" y1="40" x2="577.45" y2="44" stroke="rgba(23,23,23,0.32)" stroke-width="1"/>
  <line x1="596.73" y1="40" x2="596.73" y2="44" stroke="rgba(23,23,23,0.32)" stroke-width="1"/>
  <line x1="616" y1="40" x2="616" y2="44" stroke="rgba(23,23,23,0.32)" stroke-width="1"/>
  <text x="192" y="32" fill="#525252" font-size="12" font-family="inherit" text-anchor="middle">0</text>
  <line x1="192" y1="44" x2="192" y2="380" stroke="rgba(23,23,23,0.12)" stroke-width="1"/>
  <text x="288.36" y="32" fill="#525252" font-size="12" font-family="inherit" text-anchor="middle">5</text>
  <line x1="288.36" y1="44" x2="288.36" y2="380" stroke="rgba(23,23,23,0.12)" stroke-width="1"/>
  <text x="384.73" y="32" fill="#525252" font-size="12" font-family="inherit" text-anchor="middle">10</text>
  <line x1="384.73" y1="44" x2="384.73" y2="380" stroke="rgba(23,23,23,0.12)" stroke-width="1"/>
  <text x="481.09" y="32" fill="#525252" font-size="12" font-family="inherit" text-anchor="middle">15</text>
  <line x1="481.09" y1="44" x2="481.09" y2="380" stroke="rgba(23,23,23,0.12)" stroke-width="1"/>
  <text x="577.45" y="32" fill="#525252" font-size="12" font-family="inherit" text-anchor="middle">20</text>
  <line x1="577.45" y1="44" x2="577.45" y2="380" stroke="rgba(23,23,23,0.12)" stroke-width="1"/>
  <text x="616" y="32" fill="#525252" font-size="12" font-family="inherit" text-anchor="middle">22</text>
  <line x1="616" y1="44" x2="616" y2="380" stroke="rgba(23,23,23,0.12)" stroke-width="1"/>
  <line x1="192" y1="44" x2="616" y2="44" stroke="rgba(23,23,23,0.32)" stroke-width="1"/>
  <text x="16" y="32" fill="#525252" font-size="10" font-weight="600" letter-spacing="0.1em" font-family="inherit" text-anchor="start">MAP ZOOM</text>
  <text x="16" y="60" fill="#525252" font-size="10" font-weight="600" letter-spacing="0.1em" font-family="inherit" text-anchor="start">COMMON RANGES</text>
  <text x="16" y="92" fill="#171717" font-size="14" font-weight="600" font-family="inherit" text-anchor="start">Country polygons</text>
  <text x="16" y="108" fill="#525252" font-size="12" font-family="inherit" text-anchor="start">zoom 0–5</text>
  <rect x="192" y="86" width="96.36" height="16" rx="4" fill="rgba(23,23,23,0.05)" stroke="#525252" stroke-width="1"/>
  <circle cx="192" cy="94" r="4" fill="#171717"/>
  <circle cx="288.36" cy="94" r="4" fill="#171717"/>
  <text x="16" y="136" fill="#171717" font-size="14" font-weight="600" font-family="inherit" text-anchor="start">Main roads</text>
  <text x="16" y="152" fill="#525252" font-size="12" font-family="inherit" text-anchor="start">zoom 6–10</text>
  <rect x="307.64" y="130" width="77.09" height="16" rx="4" fill="rgba(23,23,23,0.05)" stroke="#525252" stroke-width="1"/>
  <circle cx="307.64" cy="138" r="4" fill="#171717"/>
  <circle cx="384.73" cy="138" r="4" fill="#171717"/>
  <text x="16" y="180" fill="#171717" font-size="14" font-weight="600" font-family="inherit" text-anchor="start">Streets</text>
  <text x="16" y="196" fill="#525252" font-size="12" font-family="inherit" text-anchor="start">zoom 11–14</text>
  <rect x="404" y="174" width="57.82" height="16" rx="4" fill="rgba(23,23,23,0.05)" stroke="#525252" stroke-width="1"/>
  <circle cx="404" cy="182" r="4" fill="#171717"/>
  <circle cx="461.82" cy="182" r="4" fill="#171717"/>
  <text x="16" y="224" fill="#171717" font-size="14" font-weight="600" font-family="inherit" text-anchor="start">Building footprints</text>
  <text x="16" y="240" fill="#525252" font-size="12" font-family="inherit" text-anchor="start">zoom 15–22</text>
  <rect x="481.09" y="218" width="134.91" height="16" rx="4" fill="rgba(23,23,23,0.05)" stroke="#525252" stroke-width="1"/>
  <circle cx="481.09" cy="226" r="4" fill="#171717"/>
  <circle cx="616" cy="226" r="4" fill="#171717"/>
  <line x1="16" y1="260" x2="616" y2="260" stroke="rgba(23,23,23,0.12)" stroke-width="1"/>
  <text x="16" y="280" fill="#525252" font-size="10" font-weight="600" letter-spacing="0.1em" font-family="inherit" text-anchor="start">ONE DATASET, TWO LAYERS</text>
  <line x1="384.73" y1="288" x2="384.73" y2="388" stroke="#c4360c" stroke-width="1.4" stroke-dasharray="4,3"/>
  <text x="16" y="312" fill="#171717" font-size="14" font-weight="600" font-family="inherit" text-anchor="start">Roads, thin</text>
  <text x="16" y="328" fill="#525252" font-size="12" font-family="inherit" text-anchor="start">zoom 0–10</text>
  <rect x="192" y="306" width="192.73" height="16" rx="4" fill="rgba(23,23,23,0.05)" stroke="#525252" stroke-width="1"/>
  <circle cx="192" cy="314" r="4" fill="#171717"/>
  <circle cx="384.73" cy="314" r="4" fill="#171717"/>
  <text x="16" y="356" fill="#171717" font-size="14" font-weight="600" font-family="inherit" text-anchor="start">Roads, wide</text>
  <text x="16" y="372" fill="#525252" font-size="12" font-family="inherit" text-anchor="start">zoom 10–22</text>
  <rect x="384.73" y="350" width="231.27" height="16" rx="4" fill="rgba(23,23,23,0.05)" stroke="#525252" stroke-width="1"/>
  <circle cx="384.73" cy="358" r="4" fill="#171717"/>
  <circle cx="616" cy="358" r="4" fill="#171717"/>
  <text x="384.73" y="406" fill="#c4360c" font-size="12" font-weight="600" font-family="inherit" text-anchor="middle">Only zoom 10 shows both</text>
  <line x1="16" y1="422" x2="616" y2="422" stroke="rgba(23,23,23,0.12)" stroke-width="1"/>
  <circle cx="20" cy="440" r="4" fill="#171717"/>
  <text x="32" y="444" fill="#171717" font-size="12" font-family="inherit" text-anchor="start">The layer shows at this zoom: a range includes both ends</text>
</svg>
<svg class="hidden dark:block" style="width: 100%; height: auto" viewBox="0 0 640 460" xmlns="http://www.w3.org/2000/svg" role="img" aria-labelledby="layer-zoom-ranges-inline-dark-title layer-zoom-ranges-inline-dark-desc">
  <title id="layer-zoom-ranges-inline-dark-title">Zoom ranges for each layer</title>
  <desc id="layer-zoom-ranges-inline-dark-desc">Gantt chart of Visibility ranges on a 0 to 22 zoom axis: country polygons 0–5, main roads 6–10, streets 11–14 and building footprints 15–22, each shown at both ends of its range, and two layers from one dataset set to 0–10 and 10–22, which both show only at zoom 10.</desc>
  <defs>
    <marker id="layer-zoom-ranges-inline-dark-arrow" markerWidth="8" markerHeight="6" refX="7" refY="3" orient="auto"><polygon points="0 0, 8 3, 0 6" fill="#a3a3a3"/></marker>
    <marker id="layer-zoom-ranges-inline-dark-arrow-accent" markerWidth="8" markerHeight="6" refX="7" refY="3" orient="auto"><polygon points="0 0, 8 3, 0 6" fill="#ff7a4d"/></marker>
  </defs>
  <rect width="100%" height="100%" fill="#141414"/>
  <line x1="192" y1="40" x2="192" y2="44" stroke="rgba(242,242,242,0.34)" stroke-width="1"/>
  <line x1="211.27" y1="40" x2="211.27" y2="44" stroke="rgba(242,242,242,0.34)" stroke-width="1"/>
  <line x1="230.55" y1="40" x2="230.55" y2="44" stroke="rgba(242,242,242,0.34)" stroke-width="1"/>
  <line x1="249.82" y1="40" x2="249.82" y2="44" stroke="rgba(242,242,242,0.34)" stroke-width="1"/>
  <line x1="269.09" y1="40" x2="269.09" y2="44" stroke="rgba(242,242,242,0.34)" stroke-width="1"/>
  <line x1="288.36" y1="40" x2="288.36" y2="44" stroke="rgba(242,242,242,0.34)" stroke-width="1"/>
  <line x1="307.64" y1="40" x2="307.64" y2="44" stroke="rgba(242,242,242,0.34)" stroke-width="1"/>
  <line x1="326.91" y1="40" x2="326.91" y2="44" stroke="rgba(242,242,242,0.34)" stroke-width="1"/>
  <line x1="346.18" y1="40" x2="346.18" y2="44" stroke="rgba(242,242,242,0.34)" stroke-width="1"/>
  <line x1="365.45" y1="40" x2="365.45" y2="44" stroke="rgba(242,242,242,0.34)" stroke-width="1"/>
  <line x1="384.73" y1="40" x2="384.73" y2="44" stroke="rgba(242,242,242,0.34)" stroke-width="1"/>
  <line x1="404" y1="40" x2="404" y2="44" stroke="rgba(242,242,242,0.34)" stroke-width="1"/>
  <line x1="423.27" y1="40" x2="423.27" y2="44" stroke="rgba(242,242,242,0.34)" stroke-width="1"/>
  <line x1="442.55" y1="40" x2="442.55" y2="44" stroke="rgba(242,242,242,0.34)" stroke-width="1"/>
  <line x1="461.82" y1="40" x2="461.82" y2="44" stroke="rgba(242,242,242,0.34)" stroke-width="1"/>
  <line x1="481.09" y1="40" x2="481.09" y2="44" stroke="rgba(242,242,242,0.34)" stroke-width="1"/>
  <line x1="500.36" y1="40" x2="500.36" y2="44" stroke="rgba(242,242,242,0.34)" stroke-width="1"/>
  <line x1="519.64" y1="40" x2="519.64" y2="44" stroke="rgba(242,242,242,0.34)" stroke-width="1"/>
  <line x1="538.91" y1="40" x2="538.91" y2="44" stroke="rgba(242,242,242,0.34)" stroke-width="1"/>
  <line x1="558.18" y1="40" x2="558.18" y2="44" stroke="rgba(242,242,242,0.34)" stroke-width="1"/>
  <line x1="577.45" y1="40" x2="577.45" y2="44" stroke="rgba(242,242,242,0.34)" stroke-width="1"/>
  <line x1="596.73" y1="40" x2="596.73" y2="44" stroke="rgba(242,242,242,0.34)" stroke-width="1"/>
  <line x1="616" y1="40" x2="616" y2="44" stroke="rgba(242,242,242,0.34)" stroke-width="1"/>
  <text x="192" y="32" fill="#a3a3a3" font-size="12" font-family="inherit" text-anchor="middle">0</text>
  <line x1="192" y1="44" x2="192" y2="380" stroke="rgba(242,242,242,0.14)" stroke-width="1"/>
  <text x="288.36" y="32" fill="#a3a3a3" font-size="12" font-family="inherit" text-anchor="middle">5</text>
  <line x1="288.36" y1="44" x2="288.36" y2="380" stroke="rgba(242,242,242,0.14)" stroke-width="1"/>
  <text x="384.73" y="32" fill="#a3a3a3" font-size="12" font-family="inherit" text-anchor="middle">10</text>
  <line x1="384.73" y1="44" x2="384.73" y2="380" stroke="rgba(242,242,242,0.14)" stroke-width="1"/>
  <text x="481.09" y="32" fill="#a3a3a3" font-size="12" font-family="inherit" text-anchor="middle">15</text>
  <line x1="481.09" y1="44" x2="481.09" y2="380" stroke="rgba(242,242,242,0.14)" stroke-width="1"/>
  <text x="577.45" y="32" fill="#a3a3a3" font-size="12" font-family="inherit" text-anchor="middle">20</text>
  <line x1="577.45" y1="44" x2="577.45" y2="380" stroke="rgba(242,242,242,0.14)" stroke-width="1"/>
  <text x="616" y="32" fill="#a3a3a3" font-size="12" font-family="inherit" text-anchor="middle">22</text>
  <line x1="616" y1="44" x2="616" y2="380" stroke="rgba(242,242,242,0.14)" stroke-width="1"/>
  <line x1="192" y1="44" x2="616" y2="44" stroke="rgba(242,242,242,0.34)" stroke-width="1"/>
  <text x="16" y="32" fill="#a3a3a3" font-size="10" font-weight="600" letter-spacing="0.1em" font-family="inherit" text-anchor="start">MAP ZOOM</text>
  <text x="16" y="60" fill="#a3a3a3" font-size="10" font-weight="600" letter-spacing="0.1em" font-family="inherit" text-anchor="start">COMMON RANGES</text>
  <text x="16" y="92" fill="#f2f2f2" font-size="14" font-weight="600" font-family="inherit" text-anchor="start">Country polygons</text>
  <text x="16" y="108" fill="#a3a3a3" font-size="12" font-family="inherit" text-anchor="start">zoom 0–5</text>
  <rect x="192" y="86" width="96.36" height="16" rx="4" fill="rgba(242,242,242,0.06)" stroke="#a3a3a3" stroke-width="1"/>
  <circle cx="192" cy="94" r="4" fill="#f2f2f2"/>
  <circle cx="288.36" cy="94" r="4" fill="#f2f2f2"/>
  <text x="16" y="136" fill="#f2f2f2" font-size="14" font-weight="600" font-family="inherit" text-anchor="start">Main roads</text>
  <text x="16" y="152" fill="#a3a3a3" font-size="12" font-family="inherit" text-anchor="start">zoom 6–10</text>
  <rect x="307.64" y="130" width="77.09" height="16" rx="4" fill="rgba(242,242,242,0.06)" stroke="#a3a3a3" stroke-width="1"/>
  <circle cx="307.64" cy="138" r="4" fill="#f2f2f2"/>
  <circle cx="384.73" cy="138" r="4" fill="#f2f2f2"/>
  <text x="16" y="180" fill="#f2f2f2" font-size="14" font-weight="600" font-family="inherit" text-anchor="start">Streets</text>
  <text x="16" y="196" fill="#a3a3a3" font-size="12" font-family="inherit" text-anchor="start">zoom 11–14</text>
  <rect x="404" y="174" width="57.82" height="16" rx="4" fill="rgba(242,242,242,0.06)" stroke="#a3a3a3" stroke-width="1"/>
  <circle cx="404" cy="182" r="4" fill="#f2f2f2"/>
  <circle cx="461.82" cy="182" r="4" fill="#f2f2f2"/>
  <text x="16" y="224" fill="#f2f2f2" font-size="14" font-weight="600" font-family="inherit" text-anchor="start">Building footprints</text>
  <text x="16" y="240" fill="#a3a3a3" font-size="12" font-family="inherit" text-anchor="start">zoom 15–22</text>
  <rect x="481.09" y="218" width="134.91" height="16" rx="4" fill="rgba(242,242,242,0.06)" stroke="#a3a3a3" stroke-width="1"/>
  <circle cx="481.09" cy="226" r="4" fill="#f2f2f2"/>
  <circle cx="616" cy="226" r="4" fill="#f2f2f2"/>
  <line x1="16" y1="260" x2="616" y2="260" stroke="rgba(242,242,242,0.14)" stroke-width="1"/>
  <text x="16" y="280" fill="#a3a3a3" font-size="10" font-weight="600" letter-spacing="0.1em" font-family="inherit" text-anchor="start">ONE DATASET, TWO LAYERS</text>
  <line x1="384.73" y1="288" x2="384.73" y2="388" stroke="#ff7a4d" stroke-width="1.4" stroke-dasharray="4,3"/>
  <text x="16" y="312" fill="#f2f2f2" font-size="14" font-weight="600" font-family="inherit" text-anchor="start">Roads, thin</text>
  <text x="16" y="328" fill="#a3a3a3" font-size="12" font-family="inherit" text-anchor="start">zoom 0–10</text>
  <rect x="192" y="306" width="192.73" height="16" rx="4" fill="rgba(242,242,242,0.06)" stroke="#a3a3a3" stroke-width="1"/>
  <circle cx="192" cy="314" r="4" fill="#f2f2f2"/>
  <circle cx="384.73" cy="314" r="4" fill="#f2f2f2"/>
  <text x="16" y="356" fill="#f2f2f2" font-size="14" font-weight="600" font-family="inherit" text-anchor="start">Roads, wide</text>
  <text x="16" y="372" fill="#a3a3a3" font-size="12" font-family="inherit" text-anchor="start">zoom 10–22</text>
  <rect x="384.73" y="350" width="231.27" height="16" rx="4" fill="rgba(242,242,242,0.06)" stroke="#a3a3a3" stroke-width="1"/>
  <circle cx="384.73" cy="358" r="4" fill="#f2f2f2"/>
  <circle cx="616" cy="358" r="4" fill="#f2f2f2"/>
  <text x="384.73" y="406" fill="#ff7a4d" font-size="12" font-weight="600" font-family="inherit" text-anchor="middle">Only zoom 10 shows both</text>
  <line x1="16" y1="422" x2="616" y2="422" stroke="rgba(242,242,242,0.14)" stroke-width="1"/>
  <circle cx="20" cy="440" r="4" fill="#f2f2f2"/>
  <text x="32" y="444" fill="#f2f2f2" font-size="12" font-family="inherit" text-anchor="start">The layer shows at this zoom: a range includes both ends</text>
</svg>
{/* /diagram:layer-zoom-ranges */}

The default range is the full `0–22`, meaning the layer is always visible.

## What this doesn't cover

- **Hiding the layer for the current session only** — that's the legend's eye icon, a per-session override that doesn't save. See [How the layer panel works in MangoMap](/docs/managing-layers/concepts-layer-panel) for the persistent vs. per-session distinction.
- **Hiding the layer from the legend** — see [How to hide a layer from the legend](/docs/managing-layers/hide-layer-from-legend).
- **Restricting the basemap to a zoom range** — basemap zoom is controlled by the basemap source, not by the Style tab.
- **Changing a layer's look with zoom** — zoom stops change a point layer's marker size or colour while the layer stays visible. They work on point layers with `Circle` markers only. See [How to vary marker size by zoom level](/docs/styling-layers/vary-marker-size-by-zoom) and [How to change marker colour by zoom level](/docs/styling-layers/colour-markers-by-zoom).
