Skip to main content
Version: 6.5.0



Takes a bounding box and the diameter of the cell and returns a FeatureCollection of flat-topped hexagons or triangles (Polygon features) aligned in an "odd-q" vertical grid as described in Hexagonal Grids.


bboxBBoxextent in [minX, minY, maxX, maxY] order
cellSidenumberlength of the side of the the hexagons or triangles, in units. It will also coincide with the radius of the circumcircle of the hexagons.
options?ObjectOptional parameters (default {})
options.units?stringused in calculating cell size, can be degrees, radians, miles, or kilometers (default 'kilometers') to each hexagon or triangle of the grid (default {})
options.mask?Feature<Polygon>if passed a Polygon or MultiPolygon, the grid Points will be created only inside it
options.triangles?booleanwhether to return as triangles instead of hexagons (default false)



var bbox = [-96, 31, -84, 40];
var cellSide = 50;
var options = { units: "miles" };

var hexgrid = turf.hexGrid(bbox, cellSide, options);


$ npm install @turf/hex-grid

import { hexGrid } from "@turf/hex-grid";
const result = hexGrid(...);
$ npm install @turf/turf

import * as turf from "@turf/turf";
const result = turf.hexGrid(...);