The definitive source of the best
JavaScript libraries, frameworks, and plugins.

  • ×


    Filed under 

    • 🔾86%Overall
    • 6,832
    • 5 hours
    • 🕩2245
    • 👥17


    OpenLayers is a high-performance, feature-packed library for creating interactive maps on the web. It can display map tiles, vector data and markers loaded from any source on any web page. OpenLayers has been developed to further the use of geographic information of all kinds. It is completely free, Open Source JavaScript, released under the BSD 2-Clause License.

    Getting Started

    Install the ol package:

    npm install ol

    Import just what you need for your application:

    import Map from 'ol/Map';
    import View from 'ol/View';
    import TileLayer from 'ol/layer/Tile';
    import XYZ from 'ol/source/XYZ';
    new Map({
      target: 'map',
      layers: [
        new TileLayer({
          source: new XYZ({
            url: 'https://{a-c}{z}/{x}/{y}.png'
      view: new View({
        center: [0, 0],
        zoom: 2

    See the following examples for more detail on bundling OpenLayers with your application:


    OpenLayers appreciates contributions of all kinds. We especially want to thank our fiscal sponsors who contribute to ongoing project maintenance.

    Pozi logo

    Pozi helps connect communities through spatial thinking. We love Openlayers and it forms a core part of our platform.

    See our Open Collective page if you too are interested in becoming a regular sponsor.

    Supported Browsers

    OpenLayers runs on all modern browsers that support HTML5 and ECMAScript 5. This includes Chrome, Firefox, Safari and Edge. For older browsers and platforms like Internet Explorer (down to version 9) and Android 4.x, polyfills for requestAnimationFrame and Element.prototype.classList are required, and using the KML format requires a polyfill for URL.


    Check out the hosted examples, the workshop or the API documentation.


    Please use the GitHub issue tracker for all bugs and feature requests. Before creating a new issue, do a quick search to see if the problem has been reported already.


    Please see our guide on contributing if you're interested in getting involved.



    Show All