Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?


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



Coverage Status example branch parameter DeepScan grade

What is it?

iTowns is a Three.js-based framework written in Javascript/WebGL for visualizing 3D geospatial data.

It can connect to WMS/WMTS/TMS servers including elevation data and load many different data formats (3dTiles, GeoJSON, Vector Tiles, GPX and much more). A complete list of features and supported data formats is available on the wiki.

iTowns screenshot

Documentation and examples

The official documentation is available here. It contains tutorials to help you start using iTowns, and an API reference. You can find more informations on its contribution here.

Official examples can be viewed here. Some examples available:

iTowns examples

How to run it locally?

Clone the repo and then run:

npm install
npm start

Try out the examples at http://localhost:8080/examples

How to use it in your project?

You can use it through npm (the preferred way) or download a bundle from our github release page.

With npm

In your project:

npm install --save itowns

This package contains the ES5-compatible sources of iTowns, up to date with the latest release.

If you're using a module bundler (like wepback), you can directly write require('itowns') in your code.

Alternatively, we provide a bundle you can directly include in your html files that exposes itowns in window:

<script src="node_modules/itowns/dist/itowns.js"></script>

/!\ Please note that this bundle also contains the dependencies.

From a release bundle

See our release page. Note that there isn't a lot of support for older version of iTowns, we highly recommand to use the last release everytime.

Try modifications before they are released

If you want to try some features or bug fixes that are planned for the next release, we provide a @next version of itowns. You can install it as such :

npm install --save itowns@next

To switch back to the version to date with the latest release, you need to run :

npm install --save itowns@latest


If you are interested in contributing to iTowns, please read the CONTRIBUTING guide and the CODING guide.

iTowns has been redesigned from this early version.


iTowns is dual-licenced under Cecill-B V1.0 and MIT. Incorporated libraries are published under their original licences.

See for more information.


iTowns is an original work from French IGN, MATIS research laboratory. It has been funded through various research programs involving the French National Research Agency, Cap Digital, UPMC, Mines ParisTec, CNRS, LCPC and maintained by several organizations along the years (IGN, Oslandia, AtolCD, CIRIL Group). It has also received contributions from people listed here.

iTowns is currently maintained by IGN and CIRIL Group.

Contributions in any forms and new contributors and maintainers are welcome. Get in touch with us if you are interested :)