Skip to main content

Overview

MIT licenseBuilt with TypeScript 6.0.3coveragenpm versionMonthly npm downloads for @math.gl/core

GitHub starsGitHub contributorsMerged pull requests

Library overview

Math for the shape of the world.

From vectors and matrices to coordinate systems and planetary geometry. Composable TypeScript tools for the world you’re building.

math.gl computes on the CPU with no GPU dependencies. Use its arrays and coordinate utilities with WebGL, WebGPU, or your own analysis pipeline.

OpenJS FoundationOpenJS Foundation

math.gl is an Open Visualization, OpenJS Foundation and Linux Foundation project.

Package entry points​

The grouped package entry points are:

PackageSubpaths
@math.gl/core/expressions
@math.gl/geometry/culling, /lighting, /color
@math.gl/geospatial/crs, /projection, /terrain, /turf, /tasks
@math.gl/earth/sun, /timezone, /sun/stars; optional geoid and timezone datasets
@math.gl/dggsGrid decoding and indexing at the package root
@math.gl/web-mercatorMap viewport and camera calculations at the package root
@math.gl/arrow/utf8, /geoarrow, /geoarrow-utils, /wkb
@math.gl/tasksTask execution at the package root

The implementations live in these grouped packages. The former standalone leaf packages have been removed. @math.gl/dggs remains separate; @math.gl/web-mercator is retained for compatibility.

Legacy packages​

The unscoped math.gl compatibility package has been removed from the workspace; use @math.gl/core for core math. @math.gl/web-mercator remains available for compatibility, and viewport-mercator-project re-exports Web Mercator utilities.

Supported Browsers and Node Versions​

math.gl is fully supported on:

  • Evergreen browsers: Recent versions of Chrome, Safari, Firefox, Edge etc.
  • Node.js: Active and Maintenance LTS releases

History​

YearVersionDescription
2026v5.0 (prerelease)A new projection engine, global grid adapters, WKB and GeoArrow geometry processing, and Earth utilities, organized into focused package entry points. See what’s new.
2023v4.0ES module support. gl-matrix was removed as a runtime dependency; adapted numerical kernels remain in core.
2022v3.6Code base fully rewritten in TypeScript.
2020+v3.xAdditional geospatial modules have gradually been added to support more advanced use cases for deck.gl.
2019v3.0A collaboration with the Cesium team around 3D Tiles led to ports of parts of the Cesium math library into the math.gl/geospatial and @math.gl/geometry/culling modules.
2018v2.0The math.gl API started to mature.
2017v1.0math.gl was broken out into its own repository to manage luma.gl growth. The goal was an independently usable set of 3D and Geospatial math modules.
2015N/A@math.gl/core classes were created as part of luma.gl v4, as a set of class wrappers for gl-matrix for luma.gl and deck.gl frameworks.

Attributions​

See Attributions for contributor acknowledgments, upstream libraries, scientific references, dataset credits, and third-party notices.

License​

MIT license. Derived kernels retain their upstream notices.

Selected modules include Apache-2.0 or ISC licensed upstream code. Optional datasets can have separate licenses; see each module's attribution and distributed notices.

Package code uses permissive licenses. Dataset licenses and attribution are documented separately.

⌂