Skip to content


Switch branches/tags

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time


Translate, query, & integrate any geospatial API on the web

npm version build status js-standard-style

Koop is a JavaScript toolkit for connecting incompatible spatial APIs. It exposes a Node.js web server that faciliates on-the-fly transformations of geospatial data from one format to another and delivers it to clients by HTTP. Koop allows you to keep your data in its native format, while making it accessible in any format required. Out-of-the-box, Koop can translates your data into the GeoServices specification supported by ArcGIS products. It's plugin architecture supports output in other formats including vector-tile, WMS, and plain old GeoJSON. Learn more at

Koop has a plugin-architecture to facilate custom deployments specific to your needs. "Provider" plugins to connect to novel data formats and translate to a common format (GeoJSON), while "output" plugins then transform that GeoJSON to other specifications. See a list of plugins already authored and maintained here. If you have a novel datasource or require an as-yet unsupported output format, new plugins can be easily developed and integrated. See the development section of the Koop docs.

lots of geojson into feature services

Repositories and versioning

Due to its plugin architecture, Koop is a collection of modules stored in their own repositories. The core code-base, which all plugins connect to, is koop-core. References to the "Koop version" refer to the version of this module. All plugins have their own version numbers.


Find a bug or want to request a new feature? If you are new to Koop and have an issue but are not sure which repository it should be attached to, feel free to post it here.. Otherwise, post the issue to its originating repository.



Esri welcomes contributions from anyone and everyone. Please see our guidelines for contributing.


Apache 2.0