Skip to content

Hex grid

Where clicks pile up on a page.

Definition · Updated Nov 2, 2026

A hex grid divides an area into hexagons and shades each one by how many events fall in it, so dense spots show without thousands of dots. Use it for click maps, store traffic or any events placed on a surface.

Pay once. Every update included.

Live preview

Click density by pageClick density this week on 3 pages: Home 14.2K, Product 16.1K, Checkout 8.3K clicks; Home is densest in the top, Product is densest in the middle, Checkout is densest in the bottom.Home14.2K CLICKSProduct16.1K CLICKSCheckout8.3K CLICKS
Click density by page
PageClicksDensest area
Home14.2Ktop
Product16.1Kmiddle
Checkout8.3Kbottom

Sample data: clicks on three key pages, product 16.1K, home 14.2K, checkout 8.3K

Size
Data shape
Hot spots per page and a click count
Good for
Click maps, floor traffic
Avoid when
There are only a few events
Sizes
XS, S, M and L, re-laid out from the data

Anatomy

Inspect it like the Figma file.

The same layers, names and tokens as the component. Select one to read its size, fill and style.

Layers

028 / Hex grid

chart/028-hexbin
plot · hexbin
Layer
outline · home
Type
Rectangle
Size
150 × 192
Stroke
text/strong
Group
Marks · 461

Layers

028 / Hex grid

chart/028-hexbin
plot · hexbin
Layer
outline · home
Type
Rectangle
Size
51 × 106
Stroke
text/strong
Group
Marks · 89

Sizes

Re-laid out, never scaled.

The same data at XS, S, M and L. Every size is redrawn from the data, so text and line weights never shrink.

M against S

Width360 px480 px

Plot328 px440 px

Labels66

Marks104170

Height212 px246 px

Same tokens at every size: text styles, 1 px lines and mark radius stay put.

When to use

Where things happen.

Three signs it fits, and three signs another type fits better.

Are events placed on a surface?

Counts on a grid of two axes.

Yes: Keep the hex grid

Are there many events?

A few points with values.

Yes: Keep the hex grid

Is it a page or floor, not a map?

Countries on a map.

Yes: Keep the hex grid

Code and Figma

One name in Figma and in code.

Every Figma property is a prop with the same name and values. One command installs it.

Figma

chart/028-hexbin

size
legend
Property = propValuesDefault
size"xs" · "s" · "m" · "l""xs"
legendfalsefalse
color"cat-1" · "cat-2" · "cat-3" · "cat-4""cat-1"
npx shadcn add @chartory/hex-grid
hex-grid.tsx
import { HexGrid } from "@/components/chartory/hex-grid"import { pageClicks } from "./page-clicks"export function PageClicks() {  return (    <HexGrid      data={pageClicks}      size="m"      legend={false}    />  )}

Hearth widget

Hex grid as a widget.

The chart in a Hearth card with a hero number and two blocks. One token set, light and dark.

Code
Get the code

EmberPreset

ChartoryDefault preset

Pick the blocks, the size and the preset for your own widget.

Read the Hearth widget docs

FAQ

Hex grid questions.

What people ask before they put a hex grid in a dashboard.

Something else?

hello@usechartory.com
  • They tile without gaps and every neighbour is the same distance away, so dense spots look even in every direction.

Related types

The same question, a different shape of answer. Every type ships in Figma and in code.

Same family

Space and place

9 types in Chartory answer this question.