Characters in keys
Any valid Unicode character can appear in an OSM key but usually only lower case latin letters (a-z) and the underscore (_) are used. Sometimes the colon (:) is added as a separator character.
|Count||Fraction||Characters in key|
|A||12357||26.63%||Only latin lowercase letters (a to z) and underscore (_), first and last characters are letters.|
|B||18613||40.11%||Like A but with one or more colons (:) inside.|
|C||11403||24.57%||Like B but with uppercase latin letters or letters from other alphabets.|
|D||1549||3.34%||Like C but contains at least one whitespace character (space, tab, new line, carriage return, or from other alphabets).|
|E||226||0.49%||Like C but contains possibly problematic characters =+/&<>;'"?%#@\,.|
Keys with whitespace
Keys that contain whitespace characters such as space, tab, new
line, carriage return, or whitespace characters from other
Whitespace in keys can be confusing, especially at the beginning or end of the key, because they are invisible. Generally the underscore (_) should be used instead.
Keys with possibly problematic characters
Keys that contain possibly problematic characters: =+/&<>;'"?%#@\, or control
characters. These characters
can be problematic, because they are used to quote strings in
different programming languages or have special meanings in XML, HTML,
URLs, and other places. The equal sign is used often as separator
between tag keys and values.
Keys that appear in this list are not necessarily wrong though. But in many cases they are just results of some error.