JavaScript CSS Other
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
.tx Change imagery Transifex to YAML, use translated name and description Jun 16, 2017
css Put background settings into localstorage and dispatch change event Aug 11, 2018
data Add "apothecary" as a search term for pharmacies and chemists Aug 19, 2018
dist Add "apothecary" as a search term for pharmacies and chemists Aug 19, 2018
docs Updated screenshot of editing modes buttons. Dec 25, 2013
modules Add `listed_status` to whitelist of tags that autocomplete uppercase Aug 19, 2018
scripts Fix shellbang Aug 1, 2018
svg Improve the add-note icon in help, minor changes to help text Jul 24, 2018
test Don't reverse cardinal direction roles on relations anymore Aug 5, 2018
.eslintrc Remove babel-eslint parser (not needed since we removed flow) Apr 2, 2018
.gitattributes Add fixWinSymlinks.bat and instructions to README Apr 5, 2016
.gitignore Remove pannellum streetside files from `dist/` Jul 27, 2018
.npmignore pacify linter, gitignore vscode settings Jun 22, 2018
.travis.yml Test Node 10 on travis matrix build May 7, 2018 Rename scaleExtent to zoomExtent, slightly simplify getTiles() Jul 22, 2018 Make uiViewOnOSM work for notes too, add it to note_editor footer Jul 13, 2018 Add a linebreak Jul 26, 2018 Add Code of Conduct Mar 27, 2016 improved spelling Aug 20, 2018 Add info about customizing colors with Stylish to the FAQ Sep 18, 2017 Update date Jul 7, 2017 Add support for FontAwesome icons as preset icons Jun 6, 2018 Remove pannellum streetside files from `dist/` Jul 27, 2018
build_css.js Pacify eslint Sep 29, 2017
build_data.js Cleaner note icon rendering Jul 16, 2018
build_src.js Restore rollup-plugin-includepaths dependency for finding d3 Jun 29, 2018
development_server.js Upgrade 'std/esm' to 'esm', fixing the build issues on Node 10 May 11, 2018
index.html Don't disable boundries when disable_features list is present Oct 23, 2017
package.json fix(package): update marked to version 0.5.0 Aug 17, 2018

iD - friendly JavaScript editor for OpenStreetMap

Build Status Greenkeeper badge


  • iD is a JavaScript OpenStreetMap editor.
  • It's intentionally simple. It lets you do the most basic tasks while not breaking other people's data.
  • It supports all popular modern desktop browsers: Chrome, Firefox, Safari, Opera, Edge, and IE11.
  • iD is not yet designed for mobile browsers, but this is something we hope to add!
  • Data is rendered with d3.js.


Come on in, the water's lovely. More help? Ping bhousel on:


  • Node.js version 6 or newer
  • git for your platform
    • Note for Windows users:
      • Edit $HOME\.gitconfig:
        Add these lines to avoid checking in files with CRLF newlines
        autocrlf = input


Note: Windows users should run these steps in a shell started with "Run as administrator". This is only necessary the first time so that the build process can create symbolic links.

To run the current development version of iD on your own computer:

Cloning the repository

The repository is reasonably large, and it's unlikely that you need the full history. If you are happy to wait for it all to download, run:

git clone

To clone only the most recent version, instead use a 'shallow clone':

git clone --depth=1

If you want to add in the full history later on, perhaps to run git blame or git log, run git fetch --depth=1000000

Building iD

  1. cd into the newly cloned project folder
  2. Run npm install
  3. Run npm run all
  4. Run npm start
  5. Open http://localhost:8080/ in a web browser

For guidance on building a packaged version, running tests, and contributing to development, see


iD is available under the ISC License. See the file for more details.

iD also bundles portions of the following open source software.

Thank you

Initial development of iD was made possible by a grant of the Knight Foundation.