A JavaScript library for rendering 2D & 3D maps in web browsers using WebGL, optimized for vector data like OpenStreetMap.
Tangram is a JavaScript library for rendering 2D and 3D maps directly in web browsers using WebGL. It solves the problem of static, pre-rendered map tiles by drawing maps live from vector data sources like OpenStreetMap, allowing for highly customizable and interactive cartography.
Web developers and cartographers building interactive map applications that require dynamic styling, 3D effects, or custom visualizations beyond standard map tile services.
Developers choose Tangram for its fine-grained control over map rendering, support for multiple vector data formats, and ability to create unique, performance-optimized map experiences without relying on proprietary services.
WebGL map rendering engine for creative cartography
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Leverages hardware acceleration for smooth, high-frame-rate map drawing directly in the browser, as highlighted in the key features for live rendering.
Supports multiple formats including GeoJSON, TopoJSON, and Mapbox MVT, enabling use with free services like Nextzen and OpenStreetMap data.
YAML-based scene files allow inline JavaScript and GLSL for real-time, data-driven visual styles, moving beyond static map tiles.
Provided as a Leaflet plugin, it simplifies adding standard pan/zoom controls and integrating with existing web map setups.
Creating and maintaining scene files requires proficiency in YAML, JavaScript, and GLSL, which can be daunting for developers without cartographic or shader programming experience.
Maps fail to load in browsers without WebGL support, with no built-in fallback to raster tiles, limiting compatibility in constrained environments.
As a specialized tool, it has a smaller ecosystem than mainstream map libraries, making it harder to find pre-built styles or quick solutions compared to alternatives like Mapbox.