Introducing Places UI Kit: A ready-to-use, low-cost component library that lets you bring the familiar Google Maps UI for Places to any map of your choice. Try it out, andshare your input to help shape the future of GMP!

Open source libraries

Many open source libraries are available to provide additional capabilities forMaps JavaScript API. These libraries are versioned onGitHub and published tonpm.

Web Components

UseMaps JavaScript API WebComponents to quickly add mapsfunctionality to your websites. Web Components encapsulate boilerplate code,best practices, and responsive design, reducing complex map UIs into what iseffectively a single HTML element.

Extended Component Library (Beta)

Google Maps Platform Extended ComponentLibrary is a set of Web Components that helps developers build better mapsfaster, and with less effort.

npm i @googlemaps/extended-component-library
NPM version for @googlemaps/extended-component-libraryNPM downloads for @googlemaps/extended-component-libraryGitHub Repo starsGitHub commit activity (branch)GitHub forksDiscord server badge

Loading the API

Modern web applications may benefit from using the following libraries to load the Maps JavaScript API.

JS API loader

Dynamically load the Maps JavaScript API with Promises.

npm i @googlemaps/js-api-loader
NPM version for @googlemaps/js-api-loaderNPM downloads for @googlemaps/js-api-loaderGitHub Repo starsGitHub commit activity (branch)GitHub forksDiscord server badge

Using TypeScript

TypeScript users can get started with the following packages. Check out theusing TypeScript guide for additional information.

TypeScript types

TypeScript types for Maps JavaScript API

npm i -D @types/google.maps
NPM version for @types/google.mapsNPM downloads for @types/google.mapsGitHub Repo starsGitHub commit activity (branch)GitHub forksDiscord server badge

TypeScript guards

TypeScript guards to narrow union types.

npm i -D @googlemaps/typescript-guards
NPM version for @googlemaps/typescript-guardsNPM downloads for @googlemaps/typescript-guardsGitHub Repo starsGitHub commit activity (branch)GitHub forksDiscord server badge

Using React

React users can get started with the following packages.

React Google Maps Library

Components and hooks to integrate the Maps JavaScript API into React applications.

npm i -D @vis.gl/react-google-maps
NPM version for @vis.gl/react-google-mapsNPM downloads for @vis.gl/react-google-mapsGitHub Repo starsGitHub commit activity (branch)GitHub forksDiscord server badge

React wrapper

A wrapper component to declaratively load the Maps JavaScript API.

npm i @googlemaps/react-wrapper
NPM version for @googlemaps/react-wrapperNPM downloads for @googlemaps/react-wrapperGitHub Repo starsGitHub commit activity (branch)GitHub forksDiscord server badge

Extending markers and overlays

The following libraries extend classes such as Marker and OverlayView.

Marker clusterer

Creates and manages per-zoom-level clusters for large amounts of markers.

npm i @googlemaps/markerclusterer
NPM version for @googlemaps/markerclustererNPM downloads for @googlemaps/markerclustererGitHub Repo starsGitHub commit activity (branch)GitHub forksDiscord server badge

Marker manager

Adds and removes markers based upon map viewport changes.

npm i @googlemaps/markermanager
NPM version for @googlemaps/markermanagerNPM downloads for @googlemaps/markermanagerGitHub Repo starsGitHub commit activity (branch)GitHub forksDiscord server badge

Web map service (WMS)

Add Open Geospatial Consortium (OGC) layers such as a Web Map Service (WMS) to a map.

npm i @googlemaps/ogc
NPM version for @googlemaps/ogcNPM downloads for @googlemaps/ogcGitHub Repo starsGitHub commit activity (branch)GitHub forksDiscord server badge

Marker labels

Add custom HTML labels to markers.

npm i @googlemaps/markerwithlabel
NPM version for @googlemaps/markerwithlabelNPM downloads for @googlemaps/markerwithlabelGitHub Repo starsGitHub commit activity (branch)GitHub forksDiscord server badge

Three.js overlays

Use WebGL and ThreeJS for high performance visualizations.

npm i @googlemaps/three
NPM version for @googlemaps/threeNPM downloads for @googlemaps/threeGitHub Repo starsGitHub commit activity (branch)GitHub forksDiscord server badge

Deck.gl overlays

Use Deck.gl as a custom Google Maps overlay.

npm i @deck.gl/google-maps
NPM version for @deck.gl/google-mapsNPM downloads for @deck.gl/google-mapsGitHub Repo starsGitHub commit activity (branch)GitHub forksDiscord server badge

Testing and linting

Use these libraries to ensure best practices and make testing easier for the Maps JavaScript API.

ESLint plugin

Use custom ESLint rules to lint your code.

npm i -D eslint-plugin-googlemaps
NPM version for eslint-plugin-googlemapsNPM downloads for eslint-plugin-googlemapsGitHub Repo starsGitHub commit activity (branch)GitHub forksDiscord server badge

Jest mocks

Mocks to use with the Jest testing library.

npm i -D @googlemaps/jest-mocks
NPM version for @googlemaps/jest-mocksNPM downloads for @googlemaps/jest-mocksGitHub Repo starsGitHub commit activity (branch)GitHub forksDiscord server badge

Node.js Libraries

Note: The following librariesdo not work in browser environments and are implemented for Node.js and server environments.

Node.js client library

Node.js client library for making calls from cloud functions or serverside code.

npm i @googlemaps/google-maps-services-js
NPM version for @googlemaps/google-maps-services-jsNPM downloads for @googlemaps/google-maps-services-jsGitHub Repo starsGitHub commit activity (branch)GitHub forksDiscord server badge

Polyline encoding

Encode and decode polylines in Node.js.

npm i @googlemaps/polyline-codec
NPM version for @googlemaps/polyline-codecNPM downloads for @googlemaps/polyline-codecGitHub Repo starsGitHub commit activity (branch)GitHub forksDiscord server badge

URL signing

Sign URLs in Node.js for additional security.

npm i @googlemaps/url-signature
NPM version for @googlemaps/url-signatureNPM downloads for @googlemaps/url-signatureGitHub Repo starsGitHub commit activity (branch)GitHub forksDiscord server badge

Except as otherwise noted, the content of this page is licensed under theCreative Commons Attribution 4.0 License, and code samples are licensed under theApache 2.0 License. For details, see theGoogle Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.

Last updated 2025-07-18 UTC.