TypeScript icon, indicating that this package has built-in type declarations

7.0.0 • Public • Published



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.


  • bbox BBox extent in [minX, minY, maxX, maxY] order

  • cellSide number length 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 Object Optional parameters (optional, default {})

    • options.units string used in calculating cell size, can be degrees, radians, miles, or kilometers (optional, default 'kilometers')
    • options.properties Object passed to each hexagon or triangle of the grid (optional, default {})
    • options.mask Feature<Polygon>? if passed a Polygon or MultiPolygon, the grid Points will be created only inside it
    • options.triangles boolean whether to return as triangles instead of hexagons (optional, default false)


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

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

var addToMap = [hexgrid];

Returns FeatureCollection<Polygon> a hexagonal grid

This module is part of the Turfjs project, an open source module collection dedicated to geographic algorithms. It is maintained in the Turfjs/turf repository, where you can create PRs and issues.


Install this single module individually:

$ npm install @turf/hex-grid

Or install the all-encompassing @turf/turf module that includes all modules as functions:

$ npm install @turf/turf

Package Sidebar


npm i @turf/hex-grid

Weekly Downloads






Unpacked Size

37.7 kB

Total Files


Last publish


  • smallsaucepan
  • morgan.herlocker
  • twelch
  • jamesmilneruk
  • rowanwins
  • tmcw
  • morganherlocker
  • tcql
  • mdfedderly