From OpenStreetMap Wiki
Jump to navigation Jump to search


Do I need to be an OpenStreetMap expert to use it?

Absolutely not, the app is designed to be used by anyone, this includes people who have never heard of OpenStreetMap. It does, however, also facilitate easy on-the-go editing for OSM experts.

So, spread the word: Anyone can use the app!

What are the system requirements of this app?

StreetComplete requires Android 5.0, and a screen size of at least 4.3" is recommend. Apart from that, any reasonably modern phone (at least 2GB RAM, around 500MB of free space) should support it. It doesn't require Google Play Services.

Please note that several quests, such as the street width quest, benefit from augmented reality support, which makes it possible to measure the width and height of objects with your device's camera.

That however requires installing separate companion app called StreetMeasure. It is not installed by default, because Google AR functionality is non-free software, even if it is gratis. See StreetComplete/FAQ#What are the system requirements for StreetMeasure companion app for AR measurements? for its additional requirements, if you decide to use it.

What are the system requirements for StreetMeasure companion app for AR measurements?

To install and use StreetMeasure, you need to have:

  • installed latest ARcore libraries, see e.g. this thread #3917 for possible issues and workarounds.
  • checked that your device is supported by Google AR

ARCore is not enabled on every smartphone, because a certain minimum standard of sensor & camera quality and processing power is required. As such, please check Google's device list here to find out whether your device is compatible.

Note that no Google Play Services are technically required for the app to work, even the AR mode can work without it. If you want to have a working AR, you do, however, need to have the Google Play Services for AR installed. According to our tests, it does work without Google Play Services being installed, but, as said before, the device needs to be compatible. Please also note that the ARCore Services App is quite large, and may take another 100MB of space (approximately). If you are concerned about the privacy implications of having a proprietary app on your phone, you may prevent disable internet access of that app in your system app settings or with other available apps. In addition to that, according to Exodus Privacy, there are also not a lot of trackers in the app.

More information/background discussion is available in this issue.

For AR usage instructions, see StreetComplete/FAQ#How does one use AR measure feature?

How can I use StreetComplete on Apple devices?

There is no version for iPhone/iPad at the moment, but the work of supporting iOS has started. Help and support is welcome! This optimistic estimate for total work is 4 to 7 months of work. Though note that there are parts that are independent improvements and are not so massive, implementing them would make porting a bit smaller task.

There is an alternative app called GoMap!! that you may use as an alternative, though refer there for more information.

How can I support the project?

You can help by supporting the development in various ways. You can translate the app or donate. Code contributions are also highly welcome - your can add more quests and contribute other improvements. For more details see the section Contributing on GitHub.

Answering Quests

I am unsure how to answer some quest, what to do?

If it is not clear what is correct answer, you can choose `Other Others` / `Can't say` / `Leave note`. That allows you to leave OSM Note (with text and pictures!) when other more experienced mappers can look at, and resolve the issue and reply how it should be answered in the future.

I made a mistake. What do I do?

The button in the lower left corner lets you undo all answers that have not been uploaded yet, as well as recently uploaded edits. After tapping the button, tap a quest icon to see where the quest was solved. Tap the quest icon again to see your specific answer, and to undo it.

I'm missing the "OK" button when solving a quest! Where is it?

`OK` button will appear after all required information is filled. Sometimes it requires clicking on multiple places in pictures presented. Look for question marks in picture. See for example

Can I choose photos from the gallery for uploading to notes, instead of using camera?

No. See and related issues for details why it isn't supported and won't be added.

And yes, this limitations blocks some legitimate uses. But it exists to reduce need for reviewing of media uploaded to StreetComplete servers.

Note that dedicated StreetComplete image server exists after used to store images was shut down due to abuse of this service and framapic that replaced it was shut down due to abuse and one of recommended framapic replacement ( ) is also already shut down for the same reason. We want to avoid dealing with any such issues.

See also

Just OSM Wiki has thousands of images waiting for content review/replacement/deletion. With things improving very slowly (at current rate it will take at least decades to process just already known problems).

When I click on quest, several similar icons pop up, why?

It is intentional, the app will show nearby features of the same type.

The purpose is to help user determine exactly about which of them the quest is about (eg. there might be several benches or fire hydrants nearby, which each require different answer - and so the users needs to know about which one they are being asked about). See issue #4578, PR #3480 and linked issues for details.

When I click on quest, several other objects get highlighted, is that a bug?

No. That is intentional, see "#When I click on quest, several similar icons pop up, why?" above. Additional related objects are highlighted, to help you orient yourself properly and be sure for which object are you solving the quest. Note that that additional highlight is in different color and style than the highlight for the actual quest that you are solving.

See issue #5166 for details.

How can I learn exactly what tags StreetComplete changes?

See How does StreetComplete select the to be modified data and what exactly does it tag?

Building Type Quest - Why don't I see the right types?

In short, the building type and the amenity within are recorded separately. This quest is asking for what kind of building it is, not what exactly is in the building. In other words, what is the architectural style of the building, not what it is currently being used for. For adding POIs (i.e. what is that building being used for), one needs to use "Shops overlay" in StreetComplete (or some other editor) instead.

For example, church turned into a museum should still be answered as "church building" in "Building Type Quest" (which would tag it with building=church), even if it might have tourism=museum inside.

This is an ongoing misunderstanding explained in detail here that has been discussed and was also reported here or here or here.

Relatedly, note that you can select the category itself (e.g. "Civic buildings") if none of more detailed members of that category suits well.

How does one use AR measure feature?

As noted in #4000:

  • When the arrow appears, and is at the edge of the road, tap the screen,
  • The distance will appear in a white box, and an orange line will stretch out from the arrow,
  • When you've finished measuring, tap the screen again, and then either press the tick (✓) to confirm, or the undo button.

Make sure that you follow instructions on screen (e.g. walk with phone parallel to the ground instead of tilting the phone to measure width).

Also please do verify that AR measurements are looking correct, as there have been reports like #4655 about wrong measurements taken by AR.

Note that since StreetComplete v51.0 AR functionality is offloaded to separate app StreetMeasure (because Google AR functionality is non-free software, even if it is gratis).

Also, see StreetComplete/FAQ#What are the system requirements for StreetMeasure companion app for AR measurements? for system requirements for AR.

Displaying Quests

Some quests are obstructed by other quests, and I can't zoom in enough

That is known issue caused by underlying library, so it can't easily be fixed. See #2878 and related issues for details.

Possible workarounds include:

  • solve the quests around the one you're interested in
  • if you can't (or don't want to) solve them, hide those less important quests via Other Answers / Can't say / Hide (you can later unhide them individually via Undo button, or globally via Settings / Restore hidden quests)
  • after zooming-in to the maximum, try rotating the map - sometimes it will change what quests are displayed and which are hidden
  • in Settings / Quest selection and display order disable or reorder quests so those interesting to you will be given priority (while there, you can also use submenu / Manage presets to create different presets of quest for different cases, so you can switch between them more easily)

How can I hide a type of quest?

In the settings, there is an option called "Quest selection". It will take you to a list of all quests, ordered by the priority in which they will appear on the map. There, you can also enable or disable a quest, to show or hide them on the map, respectively.

Why can't I disable the notes quest (a black question mark inside a white speech bubble on a red background), or change its position in the priority order?

A note is there to indicate a problem with the data there, so it indicates that "something is wrong with this element", so no quests for that element should be created. For example, if someone answered "This shop does not exist anymore", then, of course, the app cannot use the current data as it is in the OSM database as a base for creating a quest, because some of that data might now be incorrect.

This is particularly the case with notes that have been created with StreetComplete itself (via the "Other answers…" menu), these therefore "block" other quests from showing up. This makes sure that once one StreetComplete user cannot answer a quest, the quest is not shown again to other users until the issue is hopefully resolved.

Why did a quest disappear after being visible earlier?

There are multiple reasons why this might happen. It could be that:

  • You solved the quest
  • StreetComplete refreshed quest data and discovered that:
    • someone else had solved the quest
    • someone had made another OpenStreetMap edit, causing the quest to no longer apply
  • Zooming out resulted in the quest icon not being shown, as it was blocked by a more important quest nearby (you can change quest priorities in the app settings)
  • Moving the map caused a more important quest marker to appear and block this one
  • Changing the quest priorities in settings caused the quest to disappear
  • Enabling showing of more notes resulted in more notes being shown, thereby blocking the quest from display
  • Old quests are deleted, to reduce risk of editing/creating notes based on outdated data and to reduce risk of uncontrolled data usage[1]

Why does the house number quest not appear?

The house number quest is asked for buildings likely to have house numbers - for example building=house. It is not asked for building=garage or building=yes.

It means that if buildings are tagged as building=yes, you need to add the type of building first. Fortunately, there is quest for that in StreetComplete.

Why are quests for a single object shown in a different order than the one I configured?

Only eligible quests are shown

Quests are shown dependent on the quest object's tags. But this order is only relevant if there are multiple active quests shown in the same area. Answering a quest may make the object of the quest eligible for another quest that it was previously not eligible for. This makes it seem like the order is not respected.


As of StreetComplete 29.1, the sidewalk quest requires lit = yes. So even if the sidewalk quest is above the lit quest in the quest list, i.e. has a higher priority, the lit quest will always be asked first for an object that has no lit tag. At this moment the object is not yet eligible for the sidewalk quest. Only after answering the lit quest with yes you will be prompted with the sidewalk quest.

Similarly, address quest is shown only for building of known type. So building=yes will trigger building type quest, with address quest appearing later - after building type answer is known and quests are refreshed.

Quest with even higher priority blocked display

In some case high priority quest may compete for space with medium priority quest and win, blocking its display.

Not displaying such medium priority-quest may allow low priority quest located farther away to become displayed.

I want to setup different groups of enabled quest, and select them depending on kind of trip I'm taking; is this possible?

Yes. When you go to Settings / Quest selection and display order, you can click on icon with three vertical dots on upper right part of the screen, and there you'll see option Manage presets where you can create, select and modify different groups of quests (called presets), selecting what what quests and in what order appear in each one.


Editing in Overlay mode opens Notes instead

That is intentional. If the OSM Note was opened on some node or way in response to a Quest, it means it was unsolvable in StreetComplete. Thus, all editing in StreetComplete will be disabled, and only option is to add more information to that Note, until the problem is resolved in some other editor and Note is closed. See #4529 for more details.

User Interface

How do I use 2D/3D and GPS following/rotation?

There is unlocked camera mode, where the map can be freely panned, and locked camera mode, which follows your location. Locked camera mode has a variation, follow orientation mode, which tilts the map and rotates with the pie section (aka your phone's orientation).

Default 2D view (AKA "3D birdseye") is nearly the same thing as regular 3D, where there is no tilt (tilt level 0, if you like). You can tilt as much or as little as you'd like using a two-finger vertical swipe/drag.

  • The app starts with the camera unlocked.
  • Pressing the location button centers the map on your location and switches to locked camera mode.
    • You can tell you're in locked camera mode because the location button disappears.
    • The compass button toggles between the two variations.
  • Panning the map switches back to unlocked camera mode.
    • While unlocked, tapping the compass rotates the map to be north and flat. If it already is that orientation, it tilts the camera a little instead. This is for discoverability, since two finger drag is hard to find without someone telling you about it.

See the issue #2817 for more explanations.

The map looks stale, how often does the background map get updated?

StreetComplete uses JawgMaps vector tiles to display background map. It is not updated instantly when OpenStreetMap data is changed, but only periodically. Changes should be reflected in about 4 days. If the data seems updated on JawgMaps website, but StreetComplete still shows old data, you might want to go to Settings and select Delete cache

How do I change the language?

By default, StreetComplete follows Android system language.

You can force specific language just for StreetComplete if you go to hamburger menu / Settings / Select language

If your language isn't offered in the list, you can help by translating the app to your language

The translation from English to my language is confusing or incorrect, what can I do about it?

Good news, you can easily contribute the better translation yourself on POEditor website

See app documentation for more information.

Changes to translations will be automatically incorporated with next StreetComplete release.

The original US English text is confusing or incorrect, what can I do about it?

Please report it as a bug at (and, like with a regular bug: check is it reported already, including among closed issues). Or make pull request modifying

Author and most of prominent contributors are not native speakers of English, so feedback is appreciated. See for example

Note that any such change generates work for translators so should be done only when necessary.

How can I disable/enable sound effects?

StreetComplete follows Android system setting Settings.System.SOUND_EFFECTS_ENABLED, which depend on your exact Phone/OS combination.

See #2966 comments for where such settings might be hidden.

Can we get acoustic/sound/haptic signal when we are near quest to solve?

Not in the official version. There are too many problems with that, see issue #48 for details

What is stored locally? What will be lost by reinstall?

Lost by reinstall/uninstall, not shared between devices:

  • answers that are not yet uploaded (if any are not yet uploaded then it will be mentioned on the profile screen)
  • list of ignored quests
  • presets (can be shared using new QR code functionality)
  • settings like language, theme, resurvey interval
    • Also record that initial info screens were shown, they will be shown again
    • And recent answers in building type and fire hydrant diameter quests
    • And similar (these are saved as hidden settings)

Not lost and shared between devices:

  • uploaded answers (stored in OpenStreetMap database)
  • star count and statistics and achievements (that is only cached locally - on logging in on different phone StreetComplete statistics server will give answer based on public list of edits, it may be delayed - that is why local caching is being done)


Why does the star counter not match the sum of previous stars and upload counter?

Particularly when you have auto-upload disabled, you may notice that the upload counter may display a higher number than what is actually added to the star count after uploading. The reason for this is that StreetComplete automatically resolves conflicts, and may, therefore, drop some of your changes, if, for example, the quest has already been answered by someone else. See the details about how StreetComplete handles conflicts, below.

Also, there were changes in counting of stars in June 2023, see #5086 for details.

I like gamification factor of StreetComplete, and have an idea how to increase it even more

Note that gamification also brings some problems with data quality, so one has to carefully weight whether even more gamification might corrupt OSM data instead of helping it. For details see issues linked in #3706, but the gist of it is:

Statistically speaking, the more competitiveness there is, the higher the possibility that people will get sloppy with actually verifying the information recorded on-site because they want to solve more quests in less time, which inevitably leads to incorrect data. For example, "Oh, this very long street has a sidewalk here, it will surely also have a sidewalk at the other end, I can't be bothered to go down there now" or worse, for example answering for all buildings in a suburb that they are detached houses without actually having checked it on-site because one assumes that all buildings there are (but then there are garages, sheds, semi-detached houses, some apartment buildings, houses that have been demolished etc.)

The more gamification, the more this app will attract people who also want to "game" it. I.e. actually contributing data to OSM takes a backseat and being on top of the leaderboard and similar is more important. Again, statistically speaking, this decreases the quality of the data collected with StreetComplete.

But subtle or smart gamification can help without causing problems.

Edits made with StreetComplete

A changeset made with StreetComplete covers a massive area, why is this? How can it be prevented?

This can happen if someone edits with automatic uploads turned off (or restricted), and has not uploaded changes before traveling a long distance. Some users do this for privacy reasons. Please, try to upload from time to time if you have disabled automatic upload!

This can also happen, in rare cases, where user has no access to Wi-Fi when traveling long distances.

Please note that StreetComplete is intended for local, on-the-ground surveying only. Editing remotely is not supported, and will result in problems. Changesets covering massive areas is one of typical signs that remote editing is taking place.

In case of encountering one - try to verify first is given mapper editing based on local survey - or are they guessing or what worse editing based on unsuitable sources.

Some old versions of StreetComplete (v39 fixed this) had a bug that could result in overly large changeset, see GitHub issue #3494.

See GitHub issues #4081, #1100, #1940, #2988, #2053 and #3640 for discussion of this.

Are the pictures taken with StreetComplete permanent?

example of an image considered to be within scope of Wikimedia Commons
"Reasonable quality photographs of identified places are very unlikely to be considered not in scope"
"scope is very broadly defined. Reasonable quality photos of public places are generally considered to be in scope. So, please go ahead and upload those photos"[2]

No. They will be deleted few days after a Note containing them is closed. Do not add a links to them in image=* and similar tags, as that information will be lost. See issue #4409 for details.

Either host images yourself somewhere ( might help with that if you want to make copy of your images taken by StreetComplete), or upload your images to Wikimedia Commons if they qualify and mark with wikimedia_commons=*.

Wikimedia Commons allows pictures like "photo of specific bicycle parking that has no special features". But they require images to be fully freely licensed, making freedom of panorama relevant: for example you cannot upload photos of modern statues in France. Also, you are not allowed to upload pictures taken by someone else, unless they licensed image under a free license[3] as you are not copyright holder.

Ideally, OSM editors would warn on attempting to use them as permanent links - see iD issue and implemented JOSM issue. See also bot edit cleanup.

How does the app handle uploads?

By default, the app uploads each answer the user gives immediately. If there is no connection, it stores the change on the phone and tries again later.

For each different type of quest, it creates an own changeset. This changeset will have a short message what it is about, i.e. "Add street surfaces", and set the tags for created_by and source. Example.

The changeset is kept open while the user subsequently adds information on his survey. If the user erred and undoes already uploaded changes, the reverts (and the subsequent corrections) are also added to the same changeset. After the user did not add anything to the changeset for more than 20 minutes, the app closes it. If there is no connection then or the phone is off, the changeset will latest be closed after one hour (because that is the timeout of the API).

If during upload of the changes, it turns out that the changeset has been closed already, the app will simply create a new changeset and add the changes there.

How does the app handle conflicts?

In a nutshell, the app tries to solve edit conflicts automatically, and if one is not solvable, drops the conflicting change made by the user silently and subsequently refreshes the data for the user in the vicinity of where the conflict happened.

In detail:

Each answer to a quest only modifies exactly one element and each of these answers are uploaded separately. So, when conflicts arise, they arise for single elements separately. This makes it simple to solve them automatically. Divide and conquer.

First, the app downloads the newest version of the element for which the conflict occurred. Then, it checks whether the quest type for which the answer was given still applies to the new version of the element. I.e. if a previously unnamed street now has a name, the AddRoadName quest does not apply anymore to that element.

If that check succeeded, the change is again applied to the element (like a diff/patch). If applying the change went without conflict, the modified element is then uploaded.

Thus, a conflict is considered as not automatically solvable, if any tag that the app meant to add/change/delete on the element in question has been added/changed/deleted in the meantime. Other parallel changes on the same element are handled with no problem.

How does StreetComplete select the data to be modified, and what exactly does it tag?

There is an extensive list in the wiki with all that information. See StreetComplete/Quests.

You can also see source code at (yes, "source code" may be a complete blocker for some, but it is quite understandable).

Also, one can see what exactly is being tagged by selecting the answer to a quest (preferably while auto-upload is disabled) and then select an undo button (in lower-left corner) to see what tags exactly that answer changed. When you confirm a solved quest, it will show you exactly what tags it modified before asking for confirmation if you really want to undo it.

There are also additional options in Debug Builds to check what each quest does.

Why does StreetComplete often tag the absence of features?

You probably heard that if a feature is not tagged, the assumption is of course, that it is not there. i.e. if it is not tagged whether a street is lit, it means that it is not. However, this is an assumption the data consumer has to make when it is dealing with incomplete data. The absence of a tag is in no way equivalent to any value - it is what it is - unspecified.

So the reason why StreetComplete also tags the absence of features is to indicate that a user surveyed the place and determined that the feature is indeed absent, i.e. a street is not lit. The distinction of whether a feature has been surveyed or whether it is simply unspecified is an important information for other surveyors and thus for the maintainability of the map.

That being said, the app takes great care to limit the amount of quests where the answer can be assumed to always be the same (i.e. “no”) with a relative certainty.

As an example, the cycleway quest is only shown for a certain subset of roads which do not also have any cycleway tagging in any form (including separately mapped cycleways), which don't have a speed limit set to 30 km/h and below and are not unpaved. Additionally, the quest is only shown in certain countries, where it can be assumed that (sometimes) dedicated bicycle infrastructure is present in the first place.

Why does StreetComplete add redundant tags like surface?

 "StreetComplete adds not only cycleway:surface=* and cycleway:surface=*, but also redundant surface=*"

This is intentional. While extra redundancy is not perfect, it is a minor issue compared to alternatives, which are more problematic i.e. unclear.

For details, see links in this GitHub discussion