---
title: "How to make a heatmap from a point layer"
description: "Turn a point layer into a heatmap so dense areas look hotter. Set Marker type to Heatmap on the Style tab, then adjust the gradient, radius, and intensity."
seo:
  title: "Make a heatmap from points"
sidebar:
  label: "Make a heatmap"
search:
  keywords: [density map, point density]
  boost: 2
---

A heatmap replaces individual points with a smoothed density gradient — denser areas appear hotter, sparse areas fade out — so a thousand customer addresses, incident locations, or animal sightings reads as a glanceable pattern instead of a sea of overlapping dots. Open the layer's `Style` tab, change `Marker type` to `Heatmap`, then tune the gradient and density controls.

**[See it on an example map](https://mangomap-staging.com/examples-staging/maps/042tb3tl/world-point-styling-lab)**

Open the World Point Styling Lab. In the legend, turn on the `Density` folder. This also turns on `Major Cities — Heatmap`. Turn off the `Size and Colour` folder. Warmer colours show more people nearby. The same folder has `Major Cities — Heatmap, Radius by Zoom` (Viridis gradient, radius that grows as you zoom in) and `Airports — Heatmap Cool`.

## Before you start

- The layer must be a point layer. Heatmap isn't available on line or polygon layers (those don't have a marker-type picker).
- You need edit access to the map.
- A numeric weighting field is optional but recommended if some points should contribute more density than others (customer-count by store, magnitude by earthquake).

## Open the Style tab

In the layer panel, select your point layer. Click the `Style` tab.

## Switch the marker type to Heatmap

In the `Marker type` dropdown, pick `Heatmap`. The heatmap controls replace the marker controls.

<img src="/_assets/styling-layers/make-a-heatmap--controls.png" alt="Style section of the Major Cities — Heatmap layer with Marker type set to Heatmap, the Colour gradient swatch, Weight by set to population, Radius 20, Intensity 1, Opacity 100, and Save, beside a world map where the cities show as a blue-to-red heatmap" width="1600" height="960" />

`Colour markers by` is not shown for a heatmap. The gradient and the point density set the colour, not a colour driver.

## Pick a colour gradient

Open `Colour gradient` and pick a gradient. `Hot` is the default, and there are 32 to choose from. See [Heatmap style controls](/docs/styling-layers/heatmap-style-reference) for the full list. The visual preview shows the ramp from low density (cool / light end) to high density (hot / dark end).

The swatch in the box changes when you pick. The map shows the new gradient only after you click `Save`.

## (Optional) Weight points by an attribute

The `Weight by` dropdown defaults to `Equal weight` — every point contributes the same amount to the heatmap. If some points should contribute more density (high-traffic stores, large earthquakes), pick a numeric field instead.

Only numeric fields appear in the dropdown. Text fields are excluded.

## Tune radius, intensity, opacity

Three controls determine how the heatmap renders:

- **`Radius`** — the area around each point that contributes to density. Range 5–100 px, default 20. Larger values produce a smoother surface; smaller values keep individual hotspots distinct.
- **`Intensity`** — multiplies each point's contribution. Range 0.1–3, default 1. Increase past 1 if dense areas don't reach the gradient's hot end; decrease below 1 if the heatmap saturates everywhere into the maximum colour.
- **`Opacity`** — 0–100% (default 100%), controls how transparent the heatmap is against the basemap.

Each of the three has a `Vary by zoom level` button at the end of its row. Use it to change the value as viewers zoom, for example a larger radius when zoomed out. See [Vary by zoom level](/docs/styling-layers/heatmap-style-reference#vary-by-zoom-level).

## Save

Click `Save` at the bottom of the panel. The map redraws with the heatmap rendering.

## If the heatmap looks too "dotty"

Individual points are still visible as halos. Increase `Radius` to spread each point's contribution wider. The goal is a continuous gradient at the zoom levels your viewers will use.

## If you want to compare two datasets' densities

A single heatmap doesn't show categories. Style two separate point layers as heatmaps with different gradients (one warm, one cool) and stack them on the map. Adjust opacity on each so both remain readable.

## Related

- [Heatmap style controls](/docs/styling-layers/heatmap-style-reference)
- [Point layer style controls](/docs/styling-layers/point-style-reference)
- [How to size points by a number](/docs/styling-layers/size-points-by-a-number) — proportional symbols, the other way to show point magnitude.
- [How to set a uniform style on a point layer](/docs/styling-layers/set-a-uniform-point-style)
- [Planning a thematic map in MangoMap](/docs/styling-layers/concepts-planning-a-thematic-map)
- [How layer styling works in MangoMap](/docs/styling-layers/concepts-layer-styling)
