No Description
Quincy Morgan c6d9bee226
Merge pull request #5830 from openstreetmap/validation
1 day ago
.tx Add community index to transifex config file 1 month ago
css Fix issue where fixes would not expand when clicking an issue Rename issue label class to messages Remove fix list animation 1 day ago
data Tweak issue and fix strings Different strings for one vs. a combination of deprecated tags 1 day ago
dist Tweak issue and fix strings Different strings for one vs. a combination of deprecated tags 1 day ago
docs Updated screenshot of editing modes buttons. 5 years ago
modules Tweak issue and fix strings Different strings for one vs. a combination of deprecated tags 1 day ago
scripts Fix shellbang 6 months ago
svg Update fixes UI for icons, link styling, and non-actionable fixes Fix several bugs 2 days ago
test s/coordinates/loc and replace legacy names in tests 4 days ago
.editorconfig Add .json to .editorconfig 2 weeks ago
.eslintrc Remove babel-eslint parser (not needed since we removed flow) 10 months ago
.gitattributes Update .gitattributes to use lf eol for .js files 3 weeks ago
.gitignore Remove pannellum streetside files from `dist/` 6 months ago
.npmignore pacify linter, gitignore vscode settings 8 months ago
.travis.yml Test Node 10 on travis matrix build 9 months ago Upgrade legacy symbols in tests 2 weeks ago WIP merge 'gpx' and 'mvt' layers into single 'data' layer 6 months ago Update Changelog with combobox bugfixes 2 weeks ago Add Code of Conduct 2 years ago Improves 1 month ago Add info about customizing colors with Stylish to the FAQ 1 year ago Update date 1 year ago Update readme 1 month ago Update release instructions 2 weeks ago
build_css.js Pacify eslint 1 year ago
build_data.js Add oneway icon for ImproveOSM oneway markers 1 week ago
build_src.js Merge matching polygons across tile boundaries 5 months ago
development_server.js Upgrade 'std/esm' to 'esm', fixing the build issues on Node 10 9 months ago
index.html Upgrade legacy symbols in tests 2 weeks ago
package.json chore(package): update mapillary-js to version 2.16.0 1 week ago

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 (~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.