Is it possible to use ID to edit OSM data and save it only locally (on my device), NOT to the server?

It should be prefaced that I know essentially nothing about how all of these editing programs and stuff work, as well as how OSM works to begin with.

I simply wish to edit the data of towns in my county and add more roads and features to places for fun, as part of a personal project. I (obviously) do not want to save it to the OSM server, as fictitious data is not allowed. I simply want to be able to make these edits and save them to my personal device for my own use. I preferably want to be able to use ID to edit since I tried JOSM and my tiny brain cannot comprehend that. I hope this question made a little sense, and sorry for it being so non-specific - I have no idea what I’m looking for. I’ve been trying to look for a way to do this kind of thing for a long time and hope someone can help me or point me to a different way/program to be able to do it. Thanks.

1 Like

Maybe OpenGeofiction ( is what you are looking for


Well, the thing is, that is a mapping site based in a fictional world. I’m looking to be able to edit the actual OSM data of areas in my county of residence. Thank you, though.

You can use log in and on the bottom-right corner click on “Live” on the red background to change it to Dev. This way you are editing on the Dev APIs and nothing is saved on OSM.

1 Like

When you go to save a changeset, there’s a link at the bottom of the sidebar that lets you download the changeset as an XML file. However, the options for visualizing this file locally are pretty limited besides JOSM.

If you want to collaborate with friends on your own private version of the world, the usual advice is to spin up your own instance of the OSM server software, but that’s quite a leap. A possibly smaller leap would be to set up an instance of Hecate or HecateJS and point a custom iD instance to that. Then again, you might find it more fun to use higher-level services like or to build up your private world data with more basic editing tools.


In particular as the file only contains edits you will need to apply it to existing data (both JOSM and Vespucci can do that), but that wont really help as to edit the data you changed you would still need to load the changed data in to an editor and that again will restrict you to JOSM, Vespucci and probably nothing else that is current (maybe QGIS).

IMHO the simplest (fsvo simple) solution is to run an instance of the rails-port (probably the dockerized version), import the country in question and use a local iD install.

If the sole purpose is to edit in the web browser but then not upload, kill the tab in your web browser when done. Next time you open the ID Editor it will ask if you want to restore the previous session. The premise is of course to never set the browser to erase the cache on exit. Clunky as a workaround, it has though saved hours of work allowing me to restore after the regular power outages we had.

ID has a substantial limit to what it can handle, 100 changes and you start to get a red flag and eventually it will tell you’ve done too much which means that if the session crashes not all work will be restored. For me it anyway gets slower and slower the more data is loaded, not very good at high density data areas from the start either.

Opposed JOSM has a learning curve for sure but past that it can handle oodles of data plus you can create data layers, say e.g. for each town and merge them at a later date into one. I’ve as yet not seen data files reopened failing.

1 Like

Yes it is possible. You can even save in geojson format which you can use in other applications like QGIS, ArcGIS, GRASS, etc.

Could you perhaps extremely dumb that down for me? I’m not very computer/OSM software savvy, haha. Thanks!

Is there a way to save my edits and then import it or something to be able to work on it again later? I don’t know how I would do that while on the Dev option.

EDIT: Also, when the Dev option is enabled, non of the existing lines and polygons are present for me to be able to edit. I kind of need those… lol

I’m not sure, but I think that if you save on the Dev servers the edits stay in place.

Yeah, the Dev server is empty because it’s Dev, no one uses that except for testing purposes.

1 Like


essentially this boils down to running the software that powers This is, while not difficult on an absolute scale, not like just running an application on your PC, there are a lot of moving pieces and while Docker hides that a bit the pieces are still there. The larger question is if an import of your country is even remotely feasible without getting in to an expensive setup.

1 Like

Ah, this looks like it might be useful. Thanks. I want to import a whole county rather than a whole country, which is a notably smaller area. Is this feasible? (It’s an area of roughly 1,750 sq mi)

EDIT: I tried to install this, but I have absolutely NO CLUE what ANYTHING means. I went through the whole process that it outlined but in the end it said " you should be able to navigate to http://localhost:3000/#map=12/38.8938/-77.0146 to begin working with your local instance" and when i did that it the site opened with an error message so I haven’t the slightest idea where to go from there

EDIT 2: Nevermind! I got it to open the OpenStreetMap website in my browser, which I assume is what I want to happen. That being said… now, even if I press “Save” with my changes, this will NOT actually change the real OpenStreetMap website… right? It’s like a sandbox for me to play around with now?

EDIT 3 (cause things keep acting like they’re working and then not working): It’s not letting me login to OSM through the local server port, and as a result, it’s of course impossible to edit.

EDIT 4: OKAY! So I got it completely working!.. I think. Now the only question I have is… will edits for sure not actually be saved to the real OSM? and will I be able to look at my changes later? Stuff like that.

note that others also may run other tests and delete/modify existing data as part of that

In such case “run an instance of the rails-port (probably the dockerized version), import the country in question and use a local iD install” will require you to become more tech savvy - what has some benefits but takes some time.

Hi, I don’t know if I should create a new question, but I also want to create my own map using OSM tools and save that data to a local database or OSM XML backup for later editing sessions. The map that I want to create would be entirely fictional for a video game. My goal is to build my fictional world on the shoulders of giants and export that data using the common OSM XML exchange format for later parsing and generating of things like terrains, roads, railroad tracks, buildings, lamp posts, parking spaces for spawning parked cars, etc. in the Unity game engine (of course I am writing those scripts that turn OSM into objects and level geometry). Is this currently possible with iD? What tools might I be able to use? How might I fork iD and load a local only empty world map for fictional world creation? Thanks in advance!

I should add that I started making an OSM map builder in Unity, but it’s turning into an enormous task to reimplement all the functionality that already exists elsewhere.

I would consider trying editing with JOSM where saving/loading to file is available out of the box.

1 Like

Thanks, I will give that a shot! I started going down the QGIS road last night, but just realized the Shapefiles are just basic vectors and can’t be modeled around the concepts of nodes, ways and relations like OSM. In other words, you can’t share nodes between roads so intersections are only really possible as a separate purely visual extraction layer without probably a tremendous amount of work making overlapping nodes for every single intersection and then writing some export plugin that combined the nodes based on matching position. In a large city, that would be absolutely untenable. I really hope JOSM works otherwise, I might end up having to build a new tool which I hate the idea of.

Thanks bro, I really appreciate it.