You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Quincy Morgan 33d2e264de Merge branch '2.x' 1 day ago
.tx Add community index to transifex config file 1 year ago
css Merge branch '2.x' 4 days ago
data Merge branch '2.x' 1 day ago
dist Merge branch '2.x' 1 day ago
docs Merge branch '2.x' 2 months ago
modules Fix issue with setting preset in inspector 1 day ago
scripts Push strings to Transfiex only if we are building the 2.x branch 2 months ago
svg Merge branch '2.x' 4 days ago
test Merge branch '2.x' 1 day ago
.editorconfig Update editorconfig for JavaScript syntax 2 weeks ago
.eslintrc Upgrade to eslint v6.0.0 6 months ago
.gitattributes Update .gitattributes to use lf eol for .js files 1 year ago
.gitignore Add support for icons from the noun project (close #5691) 9 months ago
.npmignore pacify linter, gitignore vscode settings 1 year ago
.travis.yml drop support for Node 8, end-of-life 6 days ago Allow centering and selecting multiple entities on launch with the `id` URL parameter (close #2818) 3 months ago Always flag tags as incomplete rather than outdated when the changes are purely additive 1 month ago v2.17.1 3 days ago Add Code of Conduct 3 years ago Contributing notes on ES6 1 month ago Updated Mapbox Satellite feedback instructions 3 months ago Update date 2 years ago Put a changelog in the Privacy Policy 1 month ago Node 10 or newer 5 days ago Change instructions for branch `2.15` -> `2.x` 2 months ago
build.js Avoid eslint warning for console statements in build scripts 1 month ago
build_css.js pacify eslint 2 months ago
build_data.js Merge branch '2.x' 6 days ago
build_src.js I guess this workaround is still needed for Node 10+ 2 months ago
index.html Add additional viewport content values (re: #6049) 10 months ago
package.json v2.17.1 3 days ago
server.js pacify eslint 2 months ago

iD - friendly JavaScript editor for OpenStreetMap

Greenkeeper badge
Greenkeeper badge

:warning: The master branch is undergoing significant breaking changes for v3 over the next few months. 2.x is considerably more stable and is currently the recommended branch for downstream development.

Watch the video from our talk at State of the Map US 2019 to learn more about the current status of iD and our goals for v3.


  • 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 or quincylvania on:


  • Node.js version 10 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 (~200 MB). 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.