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 01d8ce2f72 Merge branch '2.15' 9 hours ago
.tx Add community index to transifex config file 9 months ago
css Merge branch '2.15' 1 day ago
data Merge branch '2.15' 9 hours ago
dist Merge branch '2.15' 9 hours ago
docs Add UI for toggling toolbar items on and off 2 months ago
modules Merge branch '2.15' 2 days ago
scripts Transifex should continue to track the 2.15 branch for a while 4 months ago
svg Merge branch '2.15' 1 week ago
test Merge branch '2.15' 5 days ago
.editorconfig Add .json to .editorconfig 8 months ago
.eslintrc Upgrade to eslint v6.0.0 3 months ago
.gitattributes Update .gitattributes to use lf eol for .js files 8 months ago
.gitignore Add support for icons from the noun project (close #5691) 6 months ago
.npmignore pacify linter, gitignore vscode settings 1 year ago
.travis.yml Bump min versions of node and npm.. test on node 8,10,12 4 months ago Allow centering and selecting multiple entities on launch with the `id` URL parameter (close #2818) 2 weeks ago Fix typo and add note about unstable validation type IDs 1 week ago Add `townhall:type` field to Town Hall preset (close #6944) 9 hours ago Add Code of Conduct 3 years ago Remove deprecated radial menu (re: #3753) 4 months ago Updated Mapbox Satellite feedback instructions 2 weeks ago Update date 2 years ago Merge branch '2.15' 1 month ago Release from `2.15` branch now, not `master` 4 months ago
build_css.js Minor cleanups to some of the build scripts 7 months ago
build_data.js Merge branch '2.15' 9 hours ago
build_src.js Pull in object-inspect to workaround rollup node resolution bug 1 month ago
development_server.js Merge 2.15 into master 2 months ago
index.html Add additional viewport content values (re: #6049) 7 months ago
package.json Update rollup (close #6893) 1 day 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.15 is considerably more stable and is currently the recommended branch for downstream development.


  • 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 8 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.