# Mapbox GL JS

> interactive map library for the Web

**Wikidata**: [Q110609455](https://www.wikidata.org/wiki/Q110609455)  
**Source**: https://4ort.xyz/entity/mapbox-gl-js

## Summary
Mapbox GL JS is an interactive map library for the web that enables developers to create dynamic, customizable maps using WebGL. It was originally released as open-source software in 2014 but transitioned to a proprietary license in December 2020.

## Key Facts
- Released on August 6, 2014, as an open-source JavaScript library for rendering interactive maps
- Developed and maintained by Mapbox, an American geospatial technology company founded in 2010
- Uses WebGL for hardware-accelerated rendering of vector tiles and map styles
- Licensed under a 3-clause BSD License until December 8, 2020, then switched to a proprietary license
- Part of the Mapbox Maps SDK and serves as the web platform component
- Written in JavaScript and OpenGL Shading Language
- Supports multiple file formats including Mapbox Vector Tiles, GeoJSON, and various image formats
- Has over 200 versions tracked on npm, with early stable versions ranging from 0.3.1 to 0.7.0 in 2014-2015
- Forked as MapLibre GL JS, an open-source alternative launched on March 24, 2021

## FAQs
### Q: What is Mapbox GL JS used for?
A: Mapbox GL JS is used to create interactive, customizable web maps that can display vector data, satellite imagery, and custom styles with smooth zooming and panning capabilities.

### Q: Is Mapbox GL JS free to use?
A: Mapbox GL JS was open-source until December 2020, when it transitioned to a proprietary license. Developers now need to comply with Mapbox's terms of service for commercial use.

### Q: What makes Mapbox GL JS different from other mapping libraries?
A: Mapbox GL JS uses WebGL for hardware-accelerated rendering, supports vector tiles for high-performance rendering at any zoom level, and allows real-time style changes without reloading map tiles.

## Why It Matters
Mapbox GL JS revolutionized web mapping by introducing vector-based rendering that eliminated the need for pre-rendered map tiles. This technology enables smooth, continuous zooming and panning at any scale, dramatically improving the user experience for interactive maps. By leveraging WebGL, it offloads rendering to the GPU, allowing complex visualizations and real-time style changes that were previously impossible with traditional raster-based mapping libraries. The library's ability to handle large datasets efficiently and its support for custom styling has made it a cornerstone technology for applications ranging from simple location displays to complex data visualization platforms. Its influence extends beyond just mapping, as it has become a fundamental tool for spatial data analysis and geographic information system (GIS) applications in web browsers.

## Notable For
- Pioneered WebGL-based vector tile rendering for web maps, enabling smooth zooming without tile boundaries
- Transitioned from open-source to proprietary licensing, creating the MapLibre GL JS fork as an alternative
- Supports real-time style changes and dynamic data visualization without requiring map reloads
- Provides cross-platform compatibility through web standards, working consistently across desktop and mobile browsers
- Integrates with Mapbox's ecosystem of mapping services, including satellite imagery and custom data sources

## Body
### Technical Architecture
Mapbox GL JS is built on top of Mapbox GL Native, a cross-platform map rendering library that provides the core rendering engine. The library uses WebGL for hardware-accelerated rendering, allowing it to efficiently display complex map visualizations with thousands of data points. It implements the Mapbox Style Specification, a JSON-based format for defining map styles, layers, and data sources.

### File Format Support
The library supports multiple geospatial data formats including Mapbox Vector Tiles (MVT), GeoJSON, and various raster image formats. It can render vector tiles from multiple sources and overlay them with raster data, providing flexibility in data sourcing and visualization approaches.

### Development Ecosystem
Mapbox GL JS has extensive npm package dependencies including @mapbox/geojson-rewind, @mapbox/jsonlint-lines-primitives, and @mapbox/vector-tile. These dependencies handle specific geospatial data processing tasks, ensuring compatibility with various data formats and standards.

### Version History
The library has evolved through numerous versions since its initial release. Early versions (0.3.1 through 0.7.0) focused on establishing core functionality and stability. The transition to proprietary licensing in version 2.0.0 marked a significant shift in the project's development model and community engagement.

### Integration Capabilities
Mapbox GL JS integrates with various web frameworks and libraries, including Plotly for data visualization and ohm-website for historical mapping applications. Its API supports event handling, custom controls, and integration with other web technologies, making it adaptable to diverse application requirements.

## Schema Markup
```json
{
  "@context": "https://schema.org",
  "@type": "SoftwareApplication",
  "name": "Mapbox GL JS",
  "description": "Interactive map library for the web that enables developers to create dynamic, customizable maps using WebGL",
  "url": "https://docs.mapbox.com/mapbox-gl-js/",
  "applicationCategory": "Web Framework",
  "operatingSystem": "Cross-platform",
  "creator": {
    "@type": "Organization",
    "name": "Mapbox"
  },
  "softwareVersion": "2.6.1",
  "sameAs": [
    "https://en.wikipedia.org/wiki/Mapbox_GL_JS",
    "https://www.wikidata.org/wiki/Q21294",
    "https://github.com/mapbox/mapbox-gl-js"
  ]
}

## References

1. [Source](https://github.com/mapbox/mapbox-gl-js/blob/v1.13.2/LICENSE.txt)
2. [Source](https://github.com/mapbox/mapbox-gl-js/releases/tag/v2.0.0)
3. [Source](https://github.com/mapbox/mapbox-gl-js/blob/v2.6.1/LICENSE.txt)
4. [npmjs](https://registry.npmjs.com/mapbox-gl)
5. [Release 2.15.0. 2023](https://github.com/mapbox/mapbox-gl-js/releases/tag/v2.15.0)
6. [Release 3.0.0. 2023](https://github.com/mapbox/mapbox-gl-js/releases/tag/v3.0.0)
7. [Release 3.0.1. 2023](https://github.com/mapbox/mapbox-gl-js/releases/tag/v3.0.1)
8. [Release 3.1.0. 2024](https://github.com/mapbox/mapbox-gl-js/releases/tag/v3.1.0)
9. [Release 3.1.1. 2024](https://github.com/mapbox/mapbox-gl-js/releases/tag/v3.1.1)
10. [Release 3.1.2. 2024](https://github.com/mapbox/mapbox-gl-js/releases/tag/v3.1.2)
11. [Release 3.2.0. 2024](https://github.com/mapbox/mapbox-gl-js/releases/tag/v3.2.0)
12. [Release 3.3.0. 2024](https://github.com/mapbox/mapbox-gl-js/releases/tag/v3.3.0)
13. [Release 3.4.0. 2024](https://github.com/mapbox/mapbox-gl-js/releases/tag/v3.4.0)
14. [Release 3.5.0. 2024](https://github.com/mapbox/mapbox-gl-js/releases/tag/v3.5.0)
15. [Release 3.5.1. 2024](https://github.com/mapbox/mapbox-gl-js/releases/tag/v3.5.1)
16. [Release 3.5.2. 2024](https://github.com/mapbox/mapbox-gl-js/releases/tag/v3.5.2)
17. [Release 3.6.0. 2024](https://github.com/mapbox/mapbox-gl-js/releases/tag/v3.6.0)
18. [Release 3.7.0. 2024](https://github.com/mapbox/mapbox-gl-js/releases/tag/v3.7.0)
19. [Release 3.8.0. 2024](https://github.com/mapbox/mapbox-gl-js/releases/tag/v3.8.0)
20. [Release 3.9.0. 2024](https://github.com/mapbox/mapbox-gl-js/releases/tag/v3.9.0)
21. [Release 3.9.1. 2024](https://github.com/mapbox/mapbox-gl-js/releases/tag/v3.9.1)
22. [Release 3.9.2. 2025](https://github.com/mapbox/mapbox-gl-js/releases/tag/v3.9.2)
23. [Release 3.9.3. 2025](https://github.com/mapbox/mapbox-gl-js/releases/tag/v3.9.3)
24. [Release 3.9.4. 2025](https://github.com/mapbox/mapbox-gl-js/releases/tag/v3.9.4)
25. [Release 3.10.0. 2025](https://github.com/mapbox/mapbox-gl-js/releases/tag/v3.10.0)
26. [Release 3.11.0. 2025](https://github.com/mapbox/mapbox-gl-js/releases/tag/v3.11.0)
27. [Release 3.11.1. 2025](https://github.com/mapbox/mapbox-gl-js/releases/tag/v3.11.1)
28. [Release 3.12.0. 2025](https://github.com/mapbox/mapbox-gl-js/releases/tag/v3.12.0)
29. [Release 3.13.0. 2025](https://github.com/mapbox/mapbox-gl-js/releases/tag/v3.13.0)
30. [Release 3.14.0. 2025](https://github.com/mapbox/mapbox-gl-js/releases/tag/v3.14.0)
31. [Release 3.15.0. 2025](https://github.com/mapbox/mapbox-gl-js/releases/tag/v3.15.0)
32. [Release 3.16.0. 2025](https://github.com/mapbox/mapbox-gl-js/releases/tag/v3.16.0)
33. [Release 3.17.0. 2025](https://github.com/mapbox/mapbox-gl-js/releases/tag/v3.17.0)
34. [Release 3.18.0. 2026](https://github.com/mapbox/mapbox-gl-js/releases/tag/v3.18.0)
35. [Release 3.18.1. 2026](https://github.com/mapbox/mapbox-gl-js/releases/tag/v3.18.1)
36. [Release 3.19.0. 2026](https://github.com/mapbox/mapbox-gl-js/releases/tag/v3.19.0)
37. [Release 3.19.1. 2026](https://github.com/mapbox/mapbox-gl-js/releases/tag/v3.19.1)
38. [Release 3.20.0. 2026](https://github.com/mapbox/mapbox-gl-js/releases/tag/v3.20.0)
39. [Release 3.21.0. 2026](https://github.com/mapbox/mapbox-gl-js/releases/tag/v3.21.0)
40. [Source](https://www.mapbox.com/blog/mapbox-gl-js/)